Skip to content

Commit 406b120

Browse files
committed
fable: Simplify CMakeLists.txt to not use ${target} variable
1 parent 021052d commit 406b120

File tree

1 file changed

+21
-23
lines changed

1 file changed

+21
-23
lines changed

fable/CMakeLists.txt

+21-23
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,12 @@ set(FABLE_VERSION_U32 0 CACHE STRING "Fable version as (MAJOR<<16)|(MINOR<<8)|PA
1010
include(GNUInstallDirs)
1111

1212
# Library ------------------------------------------------------------
13-
set(namespace fable)
14-
set(target fable)
15-
1613
find_package(Boost COMPONENTS headers filesystem REQUIRED)
1714
find_package(fmt REQUIRED)
1815
find_package(nlohmann_json REQUIRED)
1916

20-
file(GLOB ${target}_PUBLIC_HEADERS "include/**/*.hpp")
21-
add_library(${target}
17+
file(GLOB fable_PUBLIC_HEADERS "include/**/*.hpp")
18+
add_library(fable
2219
# find src -type f -name "*.cpp" \! -name "*_test.cpp"
2320
src/fable/conf.cpp
2421
src/fable/confable.cpp
@@ -34,22 +31,22 @@ add_library(${target}
3431
src/fable/utility.cpp
3532

3633
# For IDE integration
37-
${${target}_PUBLIC_HEADERS}
34+
${fable_PUBLIC_HEADERS}
3835
)
39-
add_library(${namespace}::${target} ALIAS ${target})
40-
set_target_properties(${target} PROPERTIES
36+
add_library(fable::fable ALIAS fable)
37+
set_target_properties(fable PROPERTIES
4138
CXX_STANDARD 17
4239
CXX_STANDARD_REQUIRED ON
4340
VERSION ${FABLE_VERSION}
4441
)
4542
configure_file(src/fable/version.hpp.in include/fable/version.hpp @ONLY)
46-
target_include_directories(${target}
43+
target_include_directories(fable
4744
PUBLIC
4845
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
4946
"$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>"
5047
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
5148
)
52-
target_link_libraries(${target}
49+
target_link_libraries(fable
5350
PUBLIC
5451
Boost::headers
5552
Boost::filesystem
@@ -59,9 +56,9 @@ target_link_libraries(${target}
5956

6057
option(FABLE_ALLOW_COMMENTS "Allow comments when parsing JSON?" ON)
6158
if(FABLE_ALLOW_COMMENTS)
62-
target_compile_definitions(${target} PRIVATE PARSE_JSON_WITH_COMMENTS=true)
59+
target_compile_definitions(fable PRIVATE PARSE_JSON_WITH_COMMENTS=true)
6360
else()
64-
target_compile_definitions(${target} PRIVATE PARSE_JSON_WITH_COMMENTS=false)
61+
target_compile_definitions(fable PRIVATE PARSE_JSON_WITH_COMMENTS=false)
6562
endif()
6663

6764
# Testing ------------------------------------------------------------
@@ -95,15 +92,16 @@ if(BUILD_TESTING)
9592
target_link_libraries(test-fable
9693
GTest::gtest
9794
GTest::gtest_main
98-
Boost::boost
99-
${target}
95+
Boost::headers
96+
Boost::filesystem
97+
fable
10098
)
10199
gtest_add_tests(TARGET test-fable)
102100
endif()
103101

104102
# Installation -------------------------------------------------------
105-
install(TARGETS ${target}
106-
EXPORT ${namespace}Targets
103+
install(TARGETS fable
104+
EXPORT fableTargets
107105
LIBRARY
108106
ARCHIVE
109107
RUNTIME
@@ -114,18 +112,18 @@ install(DIRECTORY include/
114112
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/
115113
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
116114
)
117-
install(EXPORT ${namespace}Targets
118-
NAMESPACE ${namespace}::
119-
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${namespace}
115+
install(EXPORT fableTargets
116+
NAMESPACE fable::
117+
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/fable
120118
)
121119
include(CMakePackageConfigHelpers)
122120
write_basic_package_version_file(
123-
"${namespace}ConfigVersion.cmake"
121+
"fableConfigVersion.cmake"
124122
VERSION ${FABLE_VERSION}
125123
COMPATIBILITY AnyNewerVersion
126124
)
127125
install(FILES
128-
"cmake/${namespace}Config.cmake"
129-
"${CMAKE_CURRENT_BINARY_DIR}/${namespace}ConfigVersion.cmake"
130-
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${namespace}
126+
"cmake/fableConfig.cmake"
127+
"${CMAKE_CURRENT_BINARY_DIR}/fableConfigVersion.cmake"
128+
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/fable
131129
)

0 commit comments

Comments
 (0)