drogonCMS-cmake #27
@ -54,6 +54,9 @@ project(
|
|||||||
VERSION 1.0.0
|
VERSION 1.0.0
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Adding something we can run - Output name matches target name
|
||||||
|
add_executable(DrogonCMS src/base.c)
|
||||||
|
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
# Setting compilation flags for various compilers and build types:
|
# Setting compilation flags for various compilers and build types:
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
@ -112,9 +115,8 @@ if(NOT CMAKE_BUILD_TYPE)
|
|||||||
FORCE)
|
FORCE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Find packages go here.
|
# Find PkgConfig.
|
||||||
find_package(PkgConfig REQUIRED)
|
find_package(PkgConfig REQUIRED)
|
||||||
find_package(PostgreSQL REQUIRED)
|
|
||||||
|
|
||||||
pkg_check_modules(GTK4 REQUIRED gtk4>=4.0)
|
pkg_check_modules(GTK4 REQUIRED gtk4>=4.0)
|
||||||
message("GTK4 include dir: ${GTK4_INCLUDE_DIRS}")
|
message("GTK4 include dir: ${GTK4_INCLUDE_DIRS}")
|
||||||
@ -128,23 +130,33 @@ message("ADW other Cflags: ${ADW_CFLAGS_OTHER}")
|
|||||||
|
|
||||||
#pkg_check_modules(SSL REQUIRED openssl>=3.1.2)
|
#pkg_check_modules(SSL REQUIRED openssl>=3.1.2)
|
||||||
#message("SSL libraries: ${SSL_LIBRARY_DIRS}")
|
#message("SSL libraries: ${SSL_LIBRARY_DIRS}")
|
||||||
|
|
||||||
#pkg_check_modules(SSL REQUIRED zlib>=1.3)
|
#pkg_check_modules(SSL REQUIRED zlib>=1.3)
|
||||||
|
|
||||||
|
# Make use of PostgreSQL if FOUND, else use SQLite3
|
||||||
|
find_package (PostgreSQL)
|
||||||
|
if (PostgreSQL_FOUND)
|
||||||
|
message("POSTGRESQL include dir: ${PostgreSQL_INCLUDE_DIRS}")
|
||||||
|
message("POSTGRESQL libraries: ${PostgreSQL_LIBRARIES}")
|
||||||
|
include_directories(${PostgreSQL_INCLUDE_DIRS} ${PostgreSQL_SERVER_INCLUDE_DIRS})
|
||||||
|
target_link_libraries (${PROJECT_NAME} PUBLIC ${PostgreSQL_LIBRARIES})
|
||||||
|
|
||||||
|
#pkg_check_modules(SQLite3 REQUIRED sqlite3>=3.43.1)
|
||||||
|
elseif (SQLITE3_FOUND)
|
||||||
|
find_package (SQLite3)
|
||||||
|
message("SQLITE3 include dir: ${SQLITE3_INCLUDE_DIRS}")
|
||||||
|
message("SQLITE3 libraries: ${SQLITE3_LIBRARIES}")
|
||||||
|
include_directories(${SQLITE3_INCLUDE_DIRS})
|
||||||
|
target_link_libraries (${PROJECT_NAME} PUBLIC ${SQLITE3_LIBRARIES})
|
||||||
|
endif (PostgreSQL_FOUND)
|
||||||
# Setup CMake to use GTK+, tell the compiler where to look for headers
|
# Setup CMake to use GTK+, tell the compiler where to look for headers
|
||||||
# and to the linker where to look for libraries
|
# and to the linker where to look for libraries
|
||||||
include_directories(${GTK4_INCLUDE_DIRS} ${ADW_INCLUDE_DIRS} ${PostgreSQL_INCLUDE_DIRS} ${PostgreSQL_SERVER_INCLUDE_DIRS})
|
include_directories(${GTK4_INCLUDE_DIRS} ${ADW_INCLUDE_DIRS})
|
||||||
link_directories(${GTK4_LIBRARY_DIRS} ${ADW_LIBRARY_DIRS})
|
link_directories(${GTK4_LIBRARY_DIRS} ${ADW_LIBRARY_DIRS})
|
||||||
add_definitions(${GTK4_CFLAGS_OTHER} ${ADW_CFLAGS_OTHER})
|
add_definitions(${GTK4_CFLAGS_OTHER} ${ADW_CFLAGS_OTHER})
|
||||||
|
|
||||||
# Adding something we can run - Output name matches target name
|
|
||||||
add_executable(DrogonCMS src/base.c )
|
|
||||||
#add_executable(PG_Store vendors/postgresql-db/main.cc)
|
|
||||||
|
|
||||||
# Include drogon source code locally
|
# Include drogon source code locally
|
||||||
add_subdirectory(vendors/api-server/)
|
add_subdirectory(vendors/api-server/)
|
||||||
add_subdirectory(vendors/simple-reverse-proxy/)
|
add_subdirectory(vendors/simple-reverse-proxy/)
|
||||||
#add_subdirectory(vendors/cmake/)
|
|
||||||
|
|
||||||
# This is a "default" library, and will match the *** variable setting.
|
# This is a "default" library, and will match the *** variable setting.
|
||||||
# Other common choices are STATIC, SHARED, and MODULE
|
# Other common choices are STATIC, SHARED, and MODULE
|
||||||
@ -156,16 +168,11 @@ add_subdirectory(vendors/simple-reverse-proxy/)
|
|||||||
# Make sure you link your targets with this command. It can also link libraries and
|
# Make sure you link your targets with this command. It can also link libraries and
|
||||||
# even flags, so linking a target that does not exist will not give a configure-time error.
|
# even flags, so linking a target that does not exist will not give a configure-time error.
|
||||||
target_include_directories(${PROJECT_NAME} PUBLIC ${GTK4_LIBRARIES} ${ADW_LIBRARIES})
|
target_include_directories(${PROJECT_NAME} PUBLIC ${GTK4_LIBRARIES} ${ADW_LIBRARIES})
|
||||||
target_link_libraries(${PROJECT_NAME} PRIVATE ${GTK4_LIBRARIES} ${ADW_LIBRARIES} PostgreSQL::PostgreSQL)
|
target_link_libraries(${PROJECT_NAME} PRIVATE ${GTK4_LIBRARIES} ${ADW_LIBRARIES})
|
||||||
|
|
||||||
# Target Compile Options
|
# Target Compile Options
|
||||||
target_compile_options(${PROJECT_NAME} PRIVATE ${WARNING_LEVELS_GCC} $<$<CONFIG:DEBUG>:${WARNING_LEVELS_GCC_DEBUG}>)
|
target_compile_options(${PROJECT_NAME} PRIVATE ${WARNING_LEVELS_GCC} $<$<CONFIG:DEBUG>:${WARNING_LEVELS_GCC_DEBUG}>)
|
||||||
|
|
||||||
# This part is so the Modern CMake book can verify this example builds. For your code,
|
|
||||||
# you'll probably want tests too
|
|
||||||
enable_testing()
|
|
||||||
#add_test(NAME MyExample COMMAND MyExample)
|
|
||||||
|
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
# Package generation:
|
# Package generation:
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
|
Loading…
x
Reference in New Issue
Block a user