Skip to content

Commit 6d80b07

Browse files
committed
Add CMake option to conditionally build examples
- Add WEBUI_BUILD_EXAMPLES option (default: ON) - Improves integration when used as subproject via FetchContent
1 parent dcc776a commit 6d80b07

File tree

1 file changed

+24
-22
lines changed

1 file changed

+24
-22
lines changed

CMakeLists.txt

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -92,25 +92,27 @@ install(EXPORT webui
9292
# Build examples
9393
#//////////////////////////
9494

95-
message(STATUS "Source directory is " ${CMAKE_SOURCE_DIR})
96-
message(STATUS "Build directory is " ${CMAKE_BINARY_DIR})
97-
98-
include_directories(${CMAKE_SOURCE_DIR}/include)
99-
100-
add_executable(minimal ${CMAKE_SOURCE_DIR}/examples/C++/minimal/main.cpp)
101-
add_executable(call_js_from_cpp ${CMAKE_SOURCE_DIR}/examples/C++/call_js_from_cpp/main.cpp)
102-
add_executable(call_js_from_c ${CMAKE_SOURCE_DIR}/examples/C/call_js_from_c/main.c)
103-
104-
target_link_libraries(minimal webui)
105-
target_link_libraries(call_js_from_cpp webui)
106-
target_link_libraries(call_js_from_c webui)
107-
108-
if (MSVC)
109-
set_target_properties(minimal PROPERTIES LINK_FLAGS "/SubSystem:\"Windows\"" VS_DPI_AWARE "ON")
110-
set_target_properties(call_js_from_cpp PROPERTIES LINK_FLAGS "/SubSystem:\"Windows\"" VS_DPI_AWARE "ON")
111-
set_target_properties(call_js_from_c PROPERTIES LINK_FLAGS "/SubSystem:\"Windows\"" VS_DPI_AWARE "ON")
112-
endif()
113-
114-
if (MSVC)
115-
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT call_js_from_cpp)
116-
endif()
95+
if (WEBUI_BUILD_EXAMPLES)
96+
message(STATUS "WebUI Source directory is " ${CMAKE_CURRENT_SOURCE_DIR})
97+
message(STATUS "WebUI Build directory is " ${CMAKE_BINARY_DIR})
98+
99+
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
100+
101+
add_executable(minimal ${CMAKE_CURRENT_SOURCE_DIR}/examples/C++/minimal/main.cpp)
102+
add_executable(call_js_from_cpp ${CMAKE_CURRENT_SOURCE_DIR}/examples/C++/call_js_from_cpp/main.cpp)
103+
add_executable(call_js_from_c ${CMAKE_CURRENT_SOURCE_DIR}/examples/C/call_js_from_c/main.c)
104+
105+
target_link_libraries(minimal webui)
106+
target_link_libraries(call_js_from_cpp webui)
107+
target_link_libraries(call_js_from_c webui)
108+
109+
if (MSVC)
110+
set_target_properties(minimal PROPERTIES LINK_FLAGS "/SubSystem:\"Windows\"" VS_DPI_AWARE "ON")
111+
set_target_properties(call_js_from_cpp PROPERTIES LINK_FLAGS "/SubSystem:\"Windows\"" VS_DPI_AWARE "ON")
112+
set_target_properties(call_js_from_c PROPERTIES LINK_FLAGS "/SubSystem:\"Windows\"" VS_DPI_AWARE "ON")
113+
endif()
114+
115+
if (MSVC)
116+
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT call_js_from_cpp)
117+
endif()
118+
endif()

0 commit comments

Comments
 (0)