get_filename_component(name ${CMAKE_CURRENT_LIST_DIR} NAME) set(ecap_rely global::drogon global::libarchive global::SQLiteCpp) library_get_missing_with_rely(ecap_dependencies_miss ${ecap_rely}) if (ecap_dependencies_miss) rcl_log_append(${CMAKE_CURRENT_LIST_LINE} "[FATAL_ERROR] ecap dependencies are not installed. Build Aethera_Kernel_env first") return() endif () rcl_load_dependency_environment(${ecap_rely}) find_package(Drogon) find_package(SQLiteCpp CONFIG REQUIRED) set(Core Psc_Core_Static) set(md "${CMAKE_CURRENT_LIST_DIR}/module") set(data_dir ${CMAKE_CURRENT_LIST_DIR}/data) append_glob_source(dll_source_srcs "${md}/dll_source") add_library(dll_source SHARED ${dll_source_srcs}) add_executable(data_process "${dll_source_srcs}") target_include_directories(dll_source PUBLIC "${md}") target_link_libraries(dll_source PUBLIC ${Core}) target_link_libraries(data_process PUBLIC ${Core}) _attach_post_build_file(dll_source ${data_dir}/data_progress_config.json ${data_dir}/BIN_Blank_Text/ADS-B_195_0205.txt # "${CMAKE_CURRENT_LIST_DIR}/data/BIN_Blank_Text/ADS-B_195_0205.txt" ) append_glob_source(mlat_source_srcs "${md}/mlat_source") add_library(mlat_source SHARED ${mlat_source_srcs}) target_include_directories(mlat_source PUBLIC "${md}") target_link_libraries(mlat_source PUBLIC ${Core}) append_glob_source(ecap_server_srcs "${md}/Local_Server") add_executable(ecap_server "${md}/Local_Server_main.cpp" ${ecap_server_srcs}) if (WIN32) set(ecap_default_dsp_library_path "@/dll_source.dll") set(ecap_default_webapp_path "@/../third_party/eacp_webapp/wwwroot") set(ecap_default_tile_directory "C:/tiles") set(ecap_default_file_source 1) set(ecap_default_file_source_path "D:/ae/proj/projects/ECAP_Server/data/BIN_Blank_Text/ADS-B_195_0205.txt") set(ecap_default_sqlite_path "@/../data/sqlite/ecap.sqlite") else () set(ecap_default_dsp_library_path "@/lib9002/lib9002.so") set(ecap_default_webapp_path "@/wwwroot") set(ecap_default_tile_directory "/home/heco/tiles") set(ecap_default_file_source 0) set(ecap_default_file_source_path "") set(ecap_default_sqlite_path "@/../ecap.sqlite") endif () target_compile_definitions(ecap_server PRIVATE ECAP_DEFAULT_DSP_LIBRARY_PATH="${ecap_default_dsp_library_path}" ECAP_DEFAULT_WEBAPP_PATH="${ecap_default_webapp_path}" ECAP_DEFAULT_TILE_DIRECTORY="${ecap_default_tile_directory}" ECAP_DEFAULT_FILE_SOURCE=${ecap_default_file_source} ECAP_DEFAULT_FILE_SOURCE_PATH="${ecap_default_file_source_path}" ECAP_DEFAULT_SQLITE_PATH="${ecap_default_sqlite_path}" ) target_include_directories(ecap_server PUBLIC "${md}") target_include_directories(ecap_server PRIVATE "${CMAKE_CURRENT_LIST_DIR}/third_party/Adminive/backend/library/include" "${CMAKE_CURRENT_LIST_DIR}/third_party/Adminive/backend/service/include" "${CMAKE_CURRENT_LIST_DIR}/third_party/Adminive/backend/service/third_party/include" "${CMAKE_CURRENT_LIST_DIR}/third_party/Structive/core/include" ) target_include_directories(ecap_server PRIVATE ${ZLIB_INCLUDE_DIR}) target_link_libraries(ecap_server PUBLIC SSR) target_link_libraries(ecap_server PUBLIC ${Core}) target_link_libraries(ecap_server PRIVATE Drogon::Drogon) target_link_libraries(ecap_server PRIVATE SQLiteCpp) target_link_libraries(ecap_server PRIVATE ${ZLIB_LIBRARY}) if (MSVC) target_compile_options(ecap_server PRIVATE /bigobj /utf-8) endif () message("LibArchive_SUB_LIBRARIES {${LibArchive_SUB_LIBRARIES}}") target_link_libraries(ecap_server PRIVATE LibArchive::LibArchive ${LibArchive_SUB_LIBRARIES} ) target_compile_definitions(ecap_server PRIVATE LIBARCHIVE_STATIC) target_compile_definitions(ecap_server PRIVATE NOMINMAX) target_compile_definitions(ecap_server PRIVATE INCL_EXTRA_HTON_FUNCTIONS) # drogon用 if (MSVC) target_compile_definitions(ecap_server PRIVATE _CRTDBG_MAP_ALLOC ) endif () add_dependencies(ecap_server dll_source) set(ecap_package_includes "^.*$" ) set(ecap_package_excludes # "^[.]git/.*$" # "^[.]idea/.*$" "^data/.*$" "^cmake-build-[^/]*/.*$" "^(.*/)?node_modules/.*$" "^(.*/)?.git/.*$" "^(.*/)?wwwroot/.*$" "^(.*/)?dist/.*$" "^(.*/)?htdocs/.*$" "^(.*/)?model/.*$" "^(.*/)?.idea/.*$" "^(.*/)?dll_source_lzy/.*$" "^.*[.]tsbuildinfo$" "^.*[.]zip$" ) _add_project_zip_target( ecap_package_zip "${CMAKE_CURRENT_LIST_DIR}/ecap_package.zip" "${CMAKE_SOURCE_DIR}" ecap_package_includes ecap_package_excludes ) #_add_directory_to_clion("C:/tiles") rcl_unload_dependency_environment(${ecap_rely})