@@ -3,19 +3,16 @@ project(mylib
33 VERSION 1.0.0
44 DESCRIPTION "Template for C++ library built with CMake"
55 LANGUAGES CXX)
6- include (cmake/utils.cmake)
7-
8- add_library (mylib) # initialized below
9- add_library (mylib::mylib ALIAS mylib)
10-
11- string (COMPARE EQUAL "${CMAKE_SOURCE_DIR} " "${CMAKE_CURRENT_SOURCE_DIR} " is_top_level)
126
137#----------------------------------------------------------------------------------------------------------------------
148# general settings and options
159#----------------------------------------------------------------------------------------------------------------------
1610
11+ include (cmake/utils.cmake)
1712include (GNUInstallDirs)
1813
14+ string (COMPARE EQUAL "${CMAKE_SOURCE_DIR} " "${CMAKE_CURRENT_SOURCE_DIR} " is_top_level)
15+
1916# MYLIB_SHARED_LIBS option (undefined by default) can be used to force shared/static build
2017option (MYLIB_BUILD_TESTS "Build mylib tests" OFF )
2118option (MYLIB_BUILD_EXAMPLES "Build mylib examples" OFF )
@@ -36,6 +33,9 @@ endif()
3633set_if_undefined(CMAKE_CXX_VISIBILITY_PRESET hidden)
3734set_if_undefined(CMAKE_VISIBILITY_INLINES_HIDDEN ON )
3835
36+ add_library (mylib) # initialized below
37+ add_library (mylib::mylib ALIAS mylib)
38+
3939#----------------------------------------------------------------------------------------------------------------------
4040# mylib dependencies
4141#----------------------------------------------------------------------------------------------------------------------
@@ -55,17 +55,12 @@ endif()
5555
5656generate_export_header(mylib EXPORT_FILE_NAME include /mylib/${export_file_name} )
5757
58- set (public_headers
59- include /mylib/export.h
60- include /mylib/mylib.h)
6158set (sources
62- ${public_headers}
59+ include /mylib/export.h
60+ include /mylib/mylib.h
6361 src/mylib.cpp)
6462source_group (TREE "${CMAKE_CURRENT_SOURCE_DIR} " FILES ${sources} )
6563
66- list (APPEND public_headers "${CMAKE_CURRENT_BINARY_DIR} /include/mylib/${export_file_name} " )
67- list (APPEND sources "${CMAKE_CURRENT_BINARY_DIR} /include/mylib/${export_file_name} " )
68-
6964#----------------------------------------------------------------------------------------------------------------------
7065# mylib target
7166#----------------------------------------------------------------------------------------------------------------------
@@ -84,7 +79,6 @@ target_include_directories(mylib
8479 "${CMAKE_CURRENT_SOURCE_DIR} /src" )
8580
8681set_target_properties (mylib PROPERTIES
87- PUBLIC_HEADER "${public_headers} "
8882 SOVERSION ${PROJECT_VERSION_MAJOR}
8983 VERSION ${PROJECT_VERSION} )
9084
@@ -98,8 +92,13 @@ if(MYLIB_INSTALL AND NOT CMAKE_SKIP_INSTALL_RULES)
9892 install (TARGETS mylib EXPORT mylib_export
9993 RUNTIME COMPONENT mylib
10094 LIBRARY COMPONENT mylib NAMELINK_COMPONENT mylib-dev
101- ARCHIVE COMPONENT mylib-dev
102- PUBLIC_HEADER COMPONENT mylib-dev DESTINATION "${CMAKE_INSTALL_INCLUDEDIR} /mylib" )
95+ ARCHIVE COMPONENT mylib-dev)
96+ install (DIRECTORY include /
97+ COMPONENT mylib-dev
98+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR} " )
99+ install (FILES "${CMAKE_CURRENT_BINARY_DIR} /include/mylib/${export_file_name} "
100+ COMPONENT mylib-dev
101+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR} /mylib" )
103102
104103 set (targets_file "mylib-shared-targets.cmake" )
105104
0 commit comments