stamen

Static Menu Generator
git clone git://git.dimitrijedobrota.com/stamen.git
Log | Files | Refs | README | LICENSE | HACKING | CONTRIBUTING | CODE_OF_CONDUCT | BUILDING

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:
M CMakeLists.txt | + -
M demo/CMakeLists.txt | ++++ -----
M src/CMakeLists.txt | ++++++++++++++++++ ---------------------
M src/generate.cpp | + -

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; }