Skip to content

Commit 21760e6

Browse files
authored
Merge pull request #180 from flagarde/cmake_fixes
Fix W3/W4 warning on windows and installation of the library/examples
2 parents 1c171d1 + c945a9e commit 21760e6

File tree

3 files changed

+23
-8
lines changed

3 files changed

+23
-8
lines changed

CMakeLists.txt

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,17 @@
11
cmake_minimum_required(VERSION 3.10 FATAL_ERROR)
22

3-
project(cpp-terminal
3+
# see https://cmake.org/cmake/help/latest/policy/CMP0092.html
4+
set(CMAKE_CXX_FLAGS_OLD ${CMAKE_CXX_FLAGS})
5+
if(MSVC)
6+
if(CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
7+
string(REGEX REPLACE "/W[0-4]" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
8+
else()
9+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4")
10+
endif()
11+
endif()
12+
13+
14+
project(cpp-terminal
415
VERSION 1.0.0
516
DESCRIPTION "Small header only C++ library for writing multiplatform terminal applications"
617
HOMEPAGE_URL "https://github.com/jupyter-xeus/cpp-terminal"
@@ -34,3 +45,7 @@ if (CPPTERMINAL_ENABLE_INSTALL)
3445
install_library(cpp-terminal)
3546

3647
endif()
48+
49+
if(MSVC)
50+
set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS_OLD})
51+
endif()

cpp-terminal/CMakeLists.txt

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,8 @@ configure_file(version.h.in version.h)
44
# create and configure library target
55
add_library(cpp-terminal base.cpp prompt.cpp window.cpp input.cpp private/platform.cpp)
66

7-
target_include_directories(cpp-terminal BEFORE PUBLIC
8-
${cpp-terminal_SOURCE_DIR}
9-
)
10-
11-
target_include_directories(cpp-terminal INTERFACE ${PROJECT_SOURCE_DIR} ${PROJECT_BINARY_DIR})
7+
target_include_directories(cpp-terminal PRIVATE $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/private> PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}> $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}> $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/cpp-terminal> )
128

139
set_target_properties(cpp-terminal PROPERTIES
14-
PUBLIC_HEADER "cpp-terminal/version.h;cpp-terminal/base.hpp;cpp-terminal/prompt.hpp;cpp-terminal/window.hpp;cpp-terminal/input.hpp"
10+
PUBLIC_HEADER "${CMAKE_CURRENT_BINARY_DIR}/version.h;${CMAKE_CURRENT_SOURCE_DIR}/base.hpp;${CMAKE_CURRENT_SOURCE_DIR}/prompt.hpp;${CMAKE_CURRENT_SOURCE_DIR}/window.hpp;${CMAKE_CURRENT_SOURCE_DIR}/input.hpp"
1511
)

examples/CMakeLists.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,4 +55,8 @@ foreach(target kilo menu menu_window keys colors)
5555
target_compile_options(${target} PRIVATE "-Werror")
5656
target_compile_options(${target} PRIVATE "-Wno-sign-compare")
5757
endif()
58-
endforeach()
58+
endforeach()
59+
60+
if(CPPTERMINAL_ENABLE_INSTALL)
61+
install(TARGETS prompt_multiline prompt_immediate prompt_not_immediate prompt_simple kilo menu menu_window menu_window_24bit keys colors read_stdin RUNTIME DESTINATION bin/examples)
62+
endif()

0 commit comments

Comments
 (0)