2024-08-13 17:07:34 +08:00
|
|
|
cmake_minimum_required(VERSION 3.0)
|
|
|
|
|
|
|
|
|
|
add_subdirectory(Depend/portaudio)
|
|
|
|
|
add_subdirectory(Depend/CSerialPort)
|
|
|
|
|
add_subdirectory(Depend/mirrors_nlohmann_json)
|
2024-11-01 16:09:31 +08:00
|
|
|
add_subdirectory(Depend/cppp-reiconv)
|
|
|
|
|
add_subdirectory(Environment)
|
2024-08-13 17:07:34 +08:00
|
|
|
|
2024-11-01 16:09:31 +08:00
|
|
|
find_path(MYSQL_ROOT_DIR ${PROJECT_SOURCE_DIR}/SDK/Depend/mysql-9.0.1)
|
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
|
|
|
find_package_handle_standard_args(mysql REQUIRED_VARS MYSQL_ROOT_DIR)
|
2024-08-13 17:07:34 +08:00
|
|
|
|
2024-11-01 16:09:31 +08:00
|
|
|
set(INC_DIR ${PROJECT_SOURCE_DIR}/SDK/CCServlet/include)
|
|
|
|
|
set(LINK_DIR ${PROJECT_SOURCE_DIR}/SDK/Depend/Lib/libs)
|
|
|
|
|
set(LINK_DLL_DIR ${PROJECT_SOURCE_DIR}/SDK/Depend/Bin/bin)
|
|
|
|
|
set(CC_API_INC ${PROJECT_SOURCE_DIR}/SDK/Depend/CSerialPort/include
|
|
|
|
|
${PROJECT_SOURCE_DIR}/SDK/Depend/mirrors_nlohmann_json/include
|
|
|
|
|
${PROJECT_SOURCE_DIR}/SDK/Depend/mirrors_nlohmann_json/include/nlohmann
|
|
|
|
|
${PROJECT_SOURCE_DIR}/SDK/Depend/portaudio/include
|
|
|
|
|
${PROJECT_SOURCE_DIR}/SDK/Multimedia
|
|
|
|
|
${PROJECT_SOURCE_DIR}/SDK/CCServlet/SQL
|
|
|
|
|
${PROJECT_SOURCE_DIR}/SDK/CCServlet/include
|
|
|
|
|
${PROJECT_SOURCE_DIR}/SDK/CCServlet/SQL include
|
|
|
|
|
${PROJECT_SOURCE_DIR}/SDK/Environment/IMUI/Control
|
|
|
|
|
${PROJECT_SOURCE_DIR}/SDK/Environment/IMUI/Drive
|
|
|
|
|
${PROJECT_SOURCE_DIR}/SDK/Environment/IMUI/ImGui
|
|
|
|
|
${PROJECT_SOURCE_DIR}/SDK/Environment/IMUI/WindowOS
|
|
|
|
|
${PROJECT_SOURCE_DIR}/SDK/Environment/glfw/include
|
|
|
|
|
${INC_DIR}
|
|
|
|
|
${PROJECT_SOURCE_DIR}/SDK/Depend/mysql-9.0.1/include
|
|
|
|
|
)
|
2024-08-13 17:07:34 +08:00
|
|
|
option(UIAPIS "APIS" ON)
|
|
|
|
|
if (UIAPIS)
|
|
|
|
|
add_library(CC_API
|
|
|
|
|
STATIC
|
|
|
|
|
src/CCThread.cpp
|
|
|
|
|
src/CCSocket.cpp
|
2024-11-01 16:09:31 +08:00
|
|
|
src/CCString.cpp
|
2024-08-13 17:07:34 +08:00
|
|
|
src/CCSerialPort.cpp
|
|
|
|
|
src/CCAudio.cpp
|
|
|
|
|
src/CCThreadPool.cpp
|
|
|
|
|
include/CCThreadPool.h
|
|
|
|
|
src/CCJSONObject.cpp
|
|
|
|
|
include/CCJSONObject.h
|
|
|
|
|
src/CCFile.cpp
|
|
|
|
|
CCServlet/src/CCWebServlet.cpp
|
|
|
|
|
CCServlet/include/CCWebServlet.h
|
|
|
|
|
CCServlet/src/CCResponse.cpp
|
|
|
|
|
CCServlet/include/CCResponse.h
|
|
|
|
|
CCServlet/src/CCRequest.cpp
|
|
|
|
|
CCServlet/include/CCRequest.h
|
|
|
|
|
CCServlet/include/CORS.h
|
|
|
|
|
CCServlet/src/CCSQLite3.cpp
|
|
|
|
|
CCServlet/include/CCSQLite3.h
|
|
|
|
|
src/CCEpoll.cpp
|
2024-11-01 16:09:31 +08:00
|
|
|
src/CCByte.cpp
|
2024-08-13 17:07:34 +08:00
|
|
|
include/CCEpoll.h
|
2024-11-01 16:09:31 +08:00
|
|
|
include/CCObject.h
|
|
|
|
|
src/CCFileOutStream.cpp
|
|
|
|
|
src/CCEncode.cpp
|
|
|
|
|
include/CCFileOutStream.h
|
|
|
|
|
src/CCByteArray.cpp
|
|
|
|
|
include/CCByteArray.h
|
|
|
|
|
src/CCFIleInStream.cpp
|
|
|
|
|
include/CCFIleInStream.h
|
|
|
|
|
include/CC.h
|
|
|
|
|
src/CCNetwork.cpp
|
|
|
|
|
include/CCNetwork.h
|
|
|
|
|
src/CCTimeData.cpp
|
|
|
|
|
include/CCTimeData.h
|
|
|
|
|
src/CCMySql.cpp
|
|
|
|
|
include/CCMySql.h
|
|
|
|
|
include/CCArray.h
|
|
|
|
|
CCServlet/src/CCWebSocketInfo.cpp
|
|
|
|
|
CCServlet/include/CCWebSocketInfo.h
|
|
|
|
|
src/CCProcess.cpp
|
|
|
|
|
include/CCProcess.h
|
|
|
|
|
CCServlet/src/CCHttpClient.cpp
|
|
|
|
|
)
|
|
|
|
|
target_include_directories(CC_API PUBLIC
|
|
|
|
|
${PROJECT_SOURCE_DIR}/SDK/Depend/CSerialPort/include
|
|
|
|
|
${PROJECT_SOURCE_DIR}/SDK/Depend/mirrors_nlohmann_json/include
|
|
|
|
|
${PROJECT_SOURCE_DIR}/SDK/Depend/mirrors_nlohmann_json/include/nlohmann
|
|
|
|
|
${PROJECT_SOURCE_DIR}/SDK/Depend/portaudio/include
|
|
|
|
|
${PROJECT_SOURCE_DIR}/SDK/Multimedia
|
|
|
|
|
${PROJECT_SOURCE_DIR}/SDK/CCServlet/SQL
|
|
|
|
|
${PROJECT_SOURCE_DIR}/SDK/CCServlet/include
|
|
|
|
|
${PROJECT_SOURCE_DIR}/SDK/CCServlet/SQL include
|
|
|
|
|
${PROJECT_SOURCE_DIR}/SDK/Environment/IMUI/Control
|
|
|
|
|
${PROJECT_SOURCE_DIR}/SDK/Environment/IMUI/Drive
|
|
|
|
|
${PROJECT_SOURCE_DIR}/SDK/Environment/IMUI/ImGui
|
|
|
|
|
${PROJECT_SOURCE_DIR}/SDK/Environment/IMUI/WindowOS
|
|
|
|
|
${PROJECT_SOURCE_DIR}/SDK/Environment/glfw/include
|
|
|
|
|
${INC_DIR}
|
|
|
|
|
${PROJECT_SOURCE_DIR}/SDK/Depend/mysql-9.0.1/include/
|
|
|
|
|
|
2024-08-13 17:07:34 +08:00
|
|
|
)
|
|
|
|
|
if(CMAKE_HOST_UNIX)
|
|
|
|
|
target_link_libraries(CC_API PRIVATE libcserialport sqlite3 nlohmann_json PortAudio
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Depend/Lib/libs/x86_64/libbass.so
|
2024-11-01 16:09:31 +08:00
|
|
|
${LINK_DIR}/libcppp-reiconv.static.a
|
|
|
|
|
GUIAPI crypto
|
|
|
|
|
# ${PROJECT_SOURCE_DIR}/SDK/Depend/mysql-9.0.1/lib/LinuxLib/libmysqlclient.so
|
|
|
|
|
${PROJECT_SOURCE_DIR}/SDK/Depend/mysql-9.0.1/lib/LinuxLib/libmysqlcppconn.so
|
|
|
|
|
${PROJECT_SOURCE_DIR}/SDK/Depend/mysql-9.0.1/lib/LinuxLib/libmysqlcppconnx.so
|
2024-08-13 17:07:34 +08:00
|
|
|
)
|
|
|
|
|
elseif(CMAKE_HOST_WIN32)
|
|
|
|
|
target_link_libraries(CC_API PRIVATE ws2_32 libcserialport
|
|
|
|
|
nlohmann_json
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Depend/Bin/bin/sqlite3.dll PortAudio
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Depend/Lib/libs/x86_64/bass.lib
|
2024-11-01 16:09:31 +08:00
|
|
|
GUIAPI
|
|
|
|
|
${LINK_DIR}/VC/X64/MD/openssl.lib
|
|
|
|
|
${LINK_DIR}/VC/X64/MD/libcrypto.lib
|
|
|
|
|
${LINK_DIR}/libcppp-reiconv.static-win.a
|
|
|
|
|
${PROJECT_SOURCE_DIR}/SDK/Depend/mysql-9.0.1/lib/libmysql.lib
|
2024-08-13 17:07:34 +08:00
|
|
|
)
|
|
|
|
|
else()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
endif(UIAPIS)
|