eis/eqpalg/CMakeLists.txt

135 lines
3.2 KiB
CMake

cmake_minimum_required(VERSION 3.8)
project(eqpalg VERSION 0.1)
set(CONFIG_FILE_PATH "config.json")
include(../cmake_include/public.cmake)
include(../cmake_include/baosight.cmake)
include(../cmake_include/mix_cc.cmake)
message(STATUS "C++ 编译器路径: ${CMAKE_CXX_COMPILER}")
message(STATUS "C++ 编译器ID: ${CMAKE_CXX_COMPILER_ID}")
message(STATUS "C++ 编译器版本: ${CMAKE_CXX_COMPILER_VERSION}")
find_package(
Boost
COMPONENTS system filesystem serialization context regex container iostreams
stacktrace_addr2line unit_test_framework
REQUIRED)
find_package(dlib CONFIG REQUIRED)
find_package(mlpack CONFIG REQUIRED)
find_package(Armadillo CONFIG REQUIRED)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fno-omit-frame-pointer -Wno-deprecated-declarations -Wno-unused-parameter -Wno-unused-variable -Wno-sign-compare -Wno-reorder -Wno-unused-but-set-variable")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g -O0")
aux_source_directory(./ DIR_ROOT)
aux_source_directory(algs ALGS)
aux_source_directory(threads THREADS)
# aux_source_directory(data_handler DATA_HANDLER)
# aux_source_directory(distribution DISTRIBUTION)
# aux_source_directory(regression REGRESSION)
# aux_source_directory(oneClassSvm ONECLASSSVM)
# aux_source_directory(stat_tools STAT)
aux_source_directory(exp_macro EXP_MACRO)
aux_source_directory(feature_extraction FEATURE_EXTRACTION)
aux_source_directory(utility EQPALG_UTILITY)
set(LINK_OPTION
${ICE}
${IPLATURE}
${SQL}
${FREEZE}
${BASE_LIB}
${CODE_LIB}
${IDA}
${LEGACY_JSON}
${MEMCACHE_LIB}
${IHDB_LIB}
rt
stdc++
c
m
)
# create dir "~/shm"
execute_process(COMMAND sh "/users/dsc/code/shm/shmdir.sh" . )
# set execute info
add_executable(
eqpalg
${DIR_ROOT}
${ALGS}
${THREADS}
# ${DATA_HANDLER}
# ${DISTRIBUTION}
# ${REGRESSION}
# ${ONECLASSSVM}
${EQPALG_UTILITY}
${EXP_MACRO}
${FEATURE_EXTRACTION}
# ${STAT}
)
target_link_libraries(eqpalg
${LINK_OPTION}
${Boost_LIBRARIES}
${mix_cc}
nlohmann_json::nlohmann_json
Eigen3::Eigen
dlib::dlib
mlpack::mlpack
)
target_include_directories(
eqpalg
PUBLIC ./
../
${legacy_include}
${iplature_include}
${ihdb_include}
${memcache_include}
${iXcom}Include)
set_target_properties(eqpalg PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${bin_dir})
# ###################### add test ########################
include(CTest)
aux_source_directory(./test TEST_SOURCES)
add_executable(eqpalg_test
${TEST_SOURCES}
./utility/expression_engine.cpp
./utility/fb_state_machine.cpp
./utility/bound_checker.cpp
./utility/HoldTime.cc
./gb_item_memory.cc
)
target_include_directories(eqpalg_test PUBLIC
./
../
${my_lib_include}
${legacy_include}
${iplature_include}
${ihdb_include}
${memcache_include}
${iXcom}Include
)
target_link_libraries(eqpalg_test
${LINK_OPTION}
${Boost_LIBRARIES}
${mix_cc}
nlohmann_json::nlohmann_json
Eigen3::Eigen
)
set_target_properties(eqpalg_test PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/test)
enable_testing()
add_test(NAME eqpalg_test
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/test
COMMAND eqpalg_test)