cmake: use export namespace for Drogon::Drogon (#255)

* cmake: use ${PROJECT_NAME} instead of drogon everywere

* cmake: use export namespace instead of dummy library
This commit is contained in:
Daniel Mensinger 2019-09-26 13:33:58 +02:00 committed by An Tao
parent ae01eb5ded
commit 795079531a
10 changed files with 18 additions and 19 deletions

1
.gitignore vendored
View File

@ -39,3 +39,4 @@ lib/inc/drogon/config.h
html/
latex/
.vscode
*.kdev4

View File

@ -278,7 +278,7 @@ set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD ${DROGON_CXX_STAND
set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD_REQUIRED ON)
set_target_properties(${PROJECT_NAME} PROPERTIES CXX_EXTENSIONS OFF)
add_dependencies(drogon makeVersion)
add_dependencies(${PROJECT_NAME} makeVersion)
if(PostgreSQL_FOUND OR MYSQL_FOUND OR SQLITE3_FOUND)
if(PostgreSQL_FOUND)
@ -344,7 +344,7 @@ endif()
# Installation
install(TARGETS drogon
install(TARGETS ${PROJECT_NAME}
EXPORT DrogonTargets
ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" COMPONENT lib)
@ -441,4 +441,5 @@ install(
# Install the export set for use with the install-tree
install(EXPORT DrogonTargets
DESTINATION "${INSTALL_DROGON_CMAKE_DIR}"
NAMESPACE Drogon::
COMPONENT dev)

View File

@ -9,8 +9,6 @@
@PACKAGE_INIT@
add_library(Drogon::Drogon INTERFACE IMPORTED GLOBAL)
if(NOT TRANTOR_FOUND)
# find trantor
find_package(Trantor REQUIRED)
@ -19,14 +17,13 @@ endif()
# Our library dependencies (contains definitions for IMPORTED targets)
get_filename_component(DROGON_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
if(NOT TARGET drogon)
if(NOT TARGET Drogon::Drogon)
include("${DROGON_CMAKE_DIR}/DrogonTargets.cmake")
set_target_properties(Drogon::drogon PROPERTIES IMPORTED_GLOBAL TRUE)
add_library(Drogon::Drogon ALIAS Drogon::drogon)
endif()
# These are IMPORTED targets created by DrogonTargets.cmake
target_link_libraries(Drogon::Drogon INTERFACE drogon)
get_target_property(DROGON_INCLUDE_DIRS drogon INTERFACE_INCLUDE_DIRECTORIES)
set(DROGON_LIBRARIES drogon)
get_target_property(DROGON_INCLUDE_DIRS Drogon::Drogon INTERFACE_INCLUDE_DIRECTORIES)
set(DROGON_LIBRARIES Drogon::Drogon)
set(DROGON_EXECUTABLE drogon_ctl)
set(DROGON_FOUND TRUE)
set(DROGON_FOUND TRUE)

View File

@ -16,7 +16,7 @@ add_executable(_drogon_ctl
cmd.cc
create.cc
create_view.cc)
target_link_libraries(_drogon_ctl drogon)
target_link_libraries(_drogon_ctl ${PROJECT_NAME})
file(GLOB SCP_LIST ${CMAKE_CURRENT_SOURCE_DIR}/templates/*.csp)
foreach(cspFile ${SCP_LIST})
message(STATUS "cspFile:" ${cspFile})
@ -37,7 +37,7 @@ foreach(cspFile ${SCP_LIST})
set(TEMPL_SRC ${TEMPL_SRC} ${classname}.cc)
endforeach()
add_executable(drogon_ctl ${ctl_sources} ${TEMPL_SRC})
target_link_libraries(drogon_ctl PRIVATE drogon)
target_link_libraries(drogon_ctl PRIVATE ${PROJECT_NAME})
target_include_directories(drogon_ctl PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
add_dependencies(drogon_ctl
trantor

View File

@ -1,4 +1,4 @@
link_libraries(drogon)
link_libraries(${PROJECT_NAME})
file(GLOB SCP_LIST ${CMAKE_CURRENT_SOURCE_DIR}/simple_example/*.csp)
foreach(cspFile ${SCP_LIST})

View File

@ -1,4 +1,4 @@
link_libraries(drogon)
link_libraries(${PROJECT_NAME})
add_executable(cache_map_test CacheMapTest.cc)
add_executable(cache_map_test2 CacheMapTest2.cc)

View File

@ -1,4 +1,4 @@
link_libraries(drogon)
link_libraries(${PROJECT_NAME})
add_executable(mysql_test1 test1.cc)

View File

@ -1,4 +1,4 @@
link_libraries(drogon)
link_libraries(${PROJECT_NAME})
add_executable(pg_test1 test1.cc)
add_executable(pg_test2 test2.cc)

View File

@ -1,4 +1,4 @@
link_libraries(drogon)
link_libraries(${PROJECT_NAME})
add_executable(sqlite3_test1 test1.cc Groups.cc)

View File

@ -1,4 +1,4 @@
link_libraries(drogon)
link_libraries(${PROJECT_NAME})
add_executable(db_test db_test.cc Users.cc)