commit 8af1469e5448a18f63b83bf7b144d18d87940f5b
parent 4353db0fc0af665ffe8a735c52da61b641ab92c9
Author: Dimitrije Dobrota <mail@dimitrijedobrota.com>
Date: Fri, 17 Nov 2023 17:47:25 +0000
Ability to install library and executable
Diffstat:
4 files changed, 24 insertions(+), 28 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
@@ -3,7 +3,7 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
project(
Stamen
- VERSION 0.0.9
+ VERSION 0.0.10
DESCRIPTION "Static menu generator"
LANGUAGES CXX
)
diff --git a/demo/CMakeLists.txt b/demo/CMakeLists.txt
@@ -5,22 +5,21 @@ add_executable(demo
target_link_libraries(demo
stamen
- stamen-display
)
-ADD_CUSTOM_COMMAND(
+add_custom_command(
OUTPUT demo_menu.h demo_menu.cpp
COMMAND ${CMAKE_BINARY_DIR}/bin/stamen-generate ${CMAKE_CURRENT_SOURCE_DIR}/demo_menu.conf
DEPENDS demo_menu.conf stamen-generate
COMMENT "Generating menu files"
)
-ADD_CUSTOM_TARGET(GenerateMenu
+add_custom_target(GenerateMenu
DEPENDS demo_menu.h demo_menu.cpp
COMMENT "Check if re-generation of menu files is required"
)
-ADD_DEPENDENCIES(demo GenerateMenu)
+add_dependencies(demo GenerateMenu)
set_target_properties(demo PROPERTIES
VERSION ${PROJECT_VERSION}
@@ -28,4 +27,4 @@ set_target_properties(demo PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
)
-CONFIGURE_FILE(demo_menu.conf ${CMAKE_BINARY_DIR}/bin/demo_menu.conf COPYONLY)
+configure_file(demo_menu.conf ${CMAKE_BINARY_DIR}/bin/demo_menu.conf COPYONLY)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
@@ -1,29 +1,26 @@
-add_library(stamen INTERFACE)
-
-target_include_directories(stamen
- INTERFACE ../include
-)
-
-add_library(stamen-display
- stamen.cpp
-)
-
-target_link_libraries(stamen-display
- PRIVATE stamen
-)
+add_library(stamen-include INTERFACE)
+target_include_directories(stamen-include INTERFACE ../include)
add_executable(stamen-generate generate.cpp)
-
-target_link_libraries(stamen-generate
- PRIVATE stamen
-)
-
-target_include_directories(stamen-generate
- PUBLIC ../include
-)
+target_link_libraries(stamen-generate PRIVATE stamen-include)
+target_include_directories(stamen-generate PUBLIC ../include)
set_target_properties(stamen-generate PROPERTIES
VERSION ${PROJECT_VERSION}
SOVERSION ${PROJECT_VERSION_MAJOR}
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
)
+
+add_library(stamen stamen.cpp)
+target_link_libraries(stamen PUBLIC stamen-include)
+set_target_properties(stamen PROPERTIES
+ VERSION ${PROJECT_VERSION}
+ SOVERSION ${PROJECT_VERSION_MAJOR}
+ PUBLIC_HEADER ../include/stamen.h
+)
+
+install(TARGETS stamen-generate DESTINATION bin)
+install(TARGETS stamen
+ LIBRARY DESTINATION lib
+ PUBLIC_HEADER DESTINATION include
+)
diff --git a/src/generate.cpp b/src/generate.cpp
@@ -5,7 +5,7 @@ using namespace stamen;
int main(const int argc, const char *argv[]) {
if (argc != 2) {
- std::cout << "please enter at exaclty one config file" << std::endl;
+ std::cout << "please enter exaclty one config file" << std::endl;
return 1;
}