diff options
Diffstat (limited to 'CMakeLists.txt')
| -rw-r--r-- | CMakeLists.txt | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..a1d1b47 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,83 @@ +cmake_minimum_required(VERSION 3.16) + +set(CMAKE_CXX_STANDARD 23) + +cmake_minimum_required(VERSION 3.18) +include_guard(GLOBAL) + +set(CMAKE_SYSTEM_NAME Linux) +set(CMAKE_SYSTEM_PROCESSOR arm) + +set(TARGET_SYSROOT /home/nikita/rpi/rpi-sysroot) +set(CMAKE_SYSROOT ${TARGET_SYSROOT}) +set(CMAKE_LIBRARY_PATH ${CMAKE_SYSROOT}/usr/lib/aarch64-linux-gnu) + +set(ENV{PKG_CONFIG_PATH} $PKG_CONFIG_PATH:/usr/lib/aarch64-linux-gnu/pkgconfig) +set(ENV{PKG_CONFIG_LIBDIR} /usr/lib/pkgconfig:/usr/share/pkgconfig/:${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu/pkgconfig:${TARGET_SYSROOT}/usr/lib/pkgconfig) +set(ENV{PKG_CONFIG_SYSROOT_DIR} ${CMAKE_SYSROOT}) + +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I${TARGET_SYSROOT}/usr/include") +set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}") + +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) +set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) +set(CMAKE_BUILD_RPATH ${TARGET_SYSROOT}) + +find_package(PkgConfig REQUIRED) +pkg_check_modules(LIBCAMERA REQUIRED IMPORTED_TARGET libcamera) +find_library(LIBCAMERA_LIBRARY libcamera.so REQUIRED) +find_library(LIBCAMERA_BASE_LIBRARY libcamera-base.so REQUIRED) +message(STATUS ${CAMERA_INCLUDE_DIRS}) +message(STATUS ${LIBCAMERA_LIBRARY}) +message(STATUS ${LIBCAMERA_BASE_LIBRARY}) +pkg_check_modules(CAMERA REQUIRED libcamera) +set(LIBCAMERA_LIBRARIES "${LIBCAMERA_LIBRARY}" "${LIBCAMERA_BASE_LIBRARY}") + +project(orpheus LANGUAGES CXX) + +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +find_package(Qt6 6.4 REQUIRED COMPONENTS Quick HttpServer) + +qt_standard_project_setup(REQUIRES 6.4) + +include_directories(. "${CAMERA_INCLUDE_DIRS}") + +# libpistache +pkg_check_modules(Pistache REQUIRED IMPORTED_TARGET libpistache) + +# add_executable(${PROJECT_NAME} +qt_add_executable(apporpheus + httpservice.h + httpservice.cpp + imagealgos.h + imagealgos.cpp + macro.h + main.cpp + LibCamera.h + LibCamera.cpp + genetic_algos.h + genetic_algos.cpp +) +target_link_libraries(app${PROJECT_NAME} + PRIVATE + "${LIBCAMERA_LIBRARIES}" + PkgConfig::Pistache + Qt6::HttpServer +) + +include(GNUInstallDirs) +install(TARGETS app${PROJECT_NAME} + BUNDLE DESTINATION . + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} +) + +if ("${CMAKE_BUILD_TYPE}" MATCHES "Release") + # message("it's Debug") +else() + #message("it's not Debug") +endif() |
