1
- cmake_minimum_required (VERSION 3.16 )
2
- project (stickersolve-gui )
3
-
4
- set (CMAKE_CXX_STANDARD 20 )
5
- set (CMAKE_CXX_STANDARD_REQUIRED ON )
6
- # set(CMAKE_VERBOSE_MAKEFILE ON)
7
-
8
- set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR} )
9
-
10
- # set(CMAKE_CXX_FLAGS "-Wall -Wextra")
11
- set (CMAKE_CXX_FLAGS_DEBUG "-g -no-pie -Wall -Wextra" )
12
- set (CMAKE_CXX_FLAGS_RELEASE "-O3" )
13
- # set(CMAKE_CXX_FLAGS_RELEASE "-Ofast -zopt -flto -fremap-arrays -mllvm -reduce-array-computations=3 -faggressive-loop-transform") # for amd compiler
14
-
15
- if (WIN32 )
16
- # see https://blog.kitware.com/create-dlls-on-windows-without-declspec-using-new-cmake-export-all-feature/
17
- set (CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON )
18
- endif (WIN32 )
19
-
20
- # the -I flag in gcc
21
- include_directories (${PROJECT_SOURCE_DIR} /include/, ${PROJECT_SOURCE_DIR} /vendor/include/ )
22
- set (CMAKE_BUILD_WITH_INSTALL_RPATH on )
23
- set (CMAKE_INSTALL_RPATH "./vendor/lib" "./lib" )
24
- link_directories (${PROJECT_SOURCE_DIR} /vendor/lib )
25
-
26
- file (GLOB_RECURSE APP_SOURCES CONFIGURE_DEPENDS "${PROJECT_SOURCE_DIR} /src/*" "${PROJECT_SOURCE_DIR} /include/*" )
27
- file (GLOB_RECURSE VENDOR_SOURCES CONFIGURE_DEPENDS "${PROJECT_SOURCE_DIR} /vendor/src/*" "${PROJECT_SOURCE_DIR} /vendor/include/*" )
28
-
29
- # creates ./build/bin/runner
30
- add_executable (${PROJECT_NAME} ${APP_SOURCES} ${VENDOR_SOURCES} )
31
- target_compile_options (${PROJECT_NAME} PRIVATE -fPIC )
32
- target_link_libraries (${PROJECT_NAME} pthread Qt5PrintSupport Qt5Network Qt5Widgets Qt5Gui Qt5Core -l:libboost_system.a -l:libboost_iostreams.a -l:libboost_filesystem.a )
33
-
34
- # shared library
35
- # set(LIBRARY_NAME World)
36
- # add_library(${LIBRARY_NAME} SHARED ${LIB_SOURCES})
37
- # target_link_libraries(${PROJECT_NAME} ${LIBRARY_NAME})
1
+ cmake_minimum_required (VERSION 3.16 )
2
+ project (stickersolve-gui )
3
+
4
+ set (CMAKE_CXX_STANDARD 20 )
5
+ set (CMAKE_CXX_STANDARD_REQUIRED ON )
6
+ # set(CMAKE_VERBOSE_MAKEFILE ON)
7
+
8
+ set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR} )
9
+
10
+ set (CMAKE_CXX_FLAGS_DEBUG "-g -no-pie -Wall" )
11
+ set (CMAKE_CXX_FLAGS_RELEASE "-O3" )
12
+
13
+ set (Qt5_DIR ./vendor/usr/lib/x86_64-linux-gnu/cmake/Qt5 )
14
+
15
+ find_package (Qt5 REQUIRED Core Widgets Gui PATHS ./vendor/lib/cmake )
16
+
17
+ include_directories (${PROJECT_SOURCE_DIR} /include/, ${PROJECT_SOURCE_DIR} /vendor/include/ )
18
+ set (CMAKE_BUILD_WITH_INSTALL_RPATH on )
19
+ set (CMAKE_INSTALL_RPATH "./vendor/lib" "./lib" )
20
+ link_directories (${PROJECT_SOURCE_DIR} /vendor/lib )
21
+
22
+ file (GLOB_RECURSE APP_SOURCES CONFIGURE_DEPENDS "${PROJECT_SOURCE_DIR} /src/*" "${PROJECT_SOURCE_DIR} /include/*" )
23
+ file (GLOB_RECURSE VENDOR_SOURCES CONFIGURE_DEPENDS "${PROJECT_SOURCE_DIR} /vendor/src/*" "${PROJECT_SOURCE_DIR} /vendor/include/*" )
24
+
25
+
26
+ if (WIN32 )
27
+ add_executable (${PROJECT_NAME} WIN32 ${APP_SOURCES} ${VENDOR_SOURCES} )
28
+ target_compile_options (${PROJECT_NAME} PRIVATE )
29
+ # set_property(TARGET ${PROJECT_NAME} PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded")
30
+ target_link_libraries (${PROJECT_NAME}
31
+ Qt5::Core
32
+ Qt5::Gui
33
+ Qt5::Widgets
34
+ ${ADDITIONAL_LIBRARIES}
35
+ )
36
+ else ()
37
+ add_executable (${PROJECT_NAME} ${APP_SOURCES} ${VENDOR_SOURCES} )
38
+ target_compile_options (${PROJECT_NAME} PRIVATE -fPIC )
39
+ target_link_libraries (${PROJECT_NAME}
40
+ pthread
41
+ Qt5::Core
42
+ Qt5::Gui
43
+ Qt5::Widgets
44
+ -l:libboost_system.a
45
+ -l:libboost_iostreams.a
46
+ -l:libboost_filesystem.a
47
+ ${ADDITIONAL_LIBRARIES}
48
+ )
49
+ endif ()
0 commit comments