fix(CMake): SOURCE_FILES

v1.6alpha
Micooz 9 years ago
parent c1c459bf48
commit dd00e60d55

@ -1,55 +1,63 @@
cmake_minimum_required(VERSION 2.8)
project (easypr)
project(easypr)
# c++11 required
include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
if(COMPILER_SUPPORTS_CXX11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
elseif(COMPILER_SUPPORTS_CXX0X)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
else()
message(STATUS "The compiler ${CMAKE_CXX_COMPILER} doesnt support C++11. Please upgrade or use a different C++ compiler.")
endif()
if (COMPILER_SUPPORTS_CXX11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
elseif (COMPILER_SUPPORTS_CXX0X)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
else ()
message(STATUS "The compiler ${CMAKE_CXX_COMPILER} doesnt support C++11. Please upgrade or use a different C++ compiler.")
endif ()
set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} "/usr/local/opt/opencv3")
# opencv3 package required
# OpenVC3 required
find_package(OpenCV 3.1.0 REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
# easypr library
# where to find header files
include_directories(.)
include_directories(include)
include_directories(${OpenCV_INCLUDE_DIRS})
# sources to be compiled
set(SOURCE_FILES
src/core/core_func.cpp
src/core/chars_identify.cpp
src/core/chars_recognise.cpp
src/core/chars_segment.cpp
src/core/feature.cpp
src/core/plate_detect.cpp
src/core/plate_judge.cpp
src/core/plate_locate.cpp
src/core/plate_recognize.cpp
src/core/better_mser.cpp
src/train/ann_train.cpp
src/train/svm_train.cpp
src/train/train.cpp
src/preprocess/deface.cpp
src/preprocess/gdts.cpp
src/preprocess/mc_data.cpp
src/util/util.cpp
src/util/program_options.cpp
src/util/kv.cpp
src/third/erfilter.cpp
src/third/helper.cpp
src/third/lbp.cpp
)
src/core/core_func.cpp
src/core/chars_identify.cpp
src/core/chars_recognise.cpp
src/core/chars_segment.cpp
src/core/feature.cpp
src/core/plate_detect.cpp
src/core/plate_judge.cpp
src/core/plate_locate.cpp
src/core/plate_recognize.cpp
src/core/better_mser.cpp
src/train/ann_train.cpp
src/train/svm_train.cpp
src/train/train.cpp
src/preprocess/deface.cpp
src/preprocess/gdts.cpp
src/preprocess/mc_data.cpp
src/util/util.cpp
src/util/program_options.cpp
src/util/kv.cpp
thirdparty/xmlParser/xmlParser.cpp
thirdparty/erfilter.cpp
thirdparty/helper.cpp
thirdparty/lbp.cpp
)
# pack objects to static library
add_library(easypr STATIC ${SOURCE_FILES})
# test cases
add_executable(demo test/main.cpp)
add_executable(demo_linux_amd64 test/main.cpp)
# link
target_link_libraries(demo ${OpenCV_LIBS} easypr ${OpenCV_LIBS})
set_target_properties(demo PROPERTIES RUNTIME_OUTPUT_DIRECTORY ../)
# link opencv libs
target_link_libraries(demo_linux_amd64 easypr ${OpenCV_LIBS})

@ -1,9 +1,23 @@
#!/usr/bin/env bash
build_tmp="_build/"
__dirname=`dirname $0`
BUILD_TMP_PATH=${__dirname}/_build
mkdir ${build_tmp} 2>/dev/null
cd ${build_tmp}
mkdir -p ${BUILD_TMP_PATH} && cd ${BUILD_TMP_PATH}
cmake --clean-first ..
make -j 4 --makefile Makefile
# Generate Makefile
cmake --clean-first -DCMAKE_BUILD_TYPE=Release ..
# Compile
if [ -f 'Makefile' ];then
make --jobs 4
fi
# Copy binary files to bin/
BINARY_PATH=../bin
cp libeasypr.a ${BINARY_PATH}
cp demo_linux_amd64 ${BINARY_PATH}
# Run demo program
cd .. && bin/demo_linux_amd64

Loading…
Cancel
Save