From 235d6a297902f4142ad6c516a15d0a05aac969fb Mon Sep 17 00:00:00 2001 From: Steven Janzou Date: Thu, 4 Sep 2025 04:24:51 -0600 Subject: [PATCH 01/13] testing using release versions of wxWidgets --- CMakeLists.txt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 725a641..01f6e55 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -89,7 +89,16 @@ if (UNIX) endif () else () set(wxWidgets_ROOT_DIR $ENV{WXMSW3}) + # This ensures that find_package will look for release configurations of libraries. + # does nothing + set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." FORCE) + set(CMAKE_MAP_IMPORTED_CONFIG_RELEASE Release) + set(CMAKE_MAP_IMPORTED_CONFIG_DEBUG Release) + set(CMAKE_MAP_IMPORTED_CONFIG_RELWITHDEBUGINFO Release) find_package(wxWidgets REQUIRED qa webview aui richtext html propgrid adv net stc core base scintilla) + # For a specific imported target, e.g., MyLibrary::MyLibrary + # need 3.27 or higher for wxWidgets::wxWidgets + set_property(TARGET wxWidgets::wxWidgets PROPERTY MAP_IMPORTED_CONFIG_DEBUG Release) endif () include(${wxWidgets_USE_FILE}) @@ -151,5 +160,10 @@ if (NOT SAM_SKIP_TOOLS) target_link_libraries(lk_sandbox -ldl) endif () + set_property(TARGET wxWidgets::wxWidgets PROPERTY MAP_IMPORTED_CONFIG_DEBUG Release) + + string(REPLACE "d" "" wxWidgets_LIBRARIES "${wxWidgets_LIBRARIES}") + target_link_libraries(lk_sandbox lk ${wxWidgets_LIBRARIES}) +# target_link_libraries(lk_sandbox lk wxWidgets::wxWidgets) endif() From 23298ee68889b5312f46469a4700607a8c7bf24b Mon Sep 17 00:00:00 2001 From: Steven Janzou Date: Wed, 10 Sep 2025 00:14:31 -0600 Subject: [PATCH 02/13] Working on release versions for wxWidgets libraries --- CMakeLists.txt | 78 +++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 67 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 01f6e55..1bed913 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -82,22 +82,39 @@ endif (MSVC) if (UNIX) if(EXISTS /usr/local/bin/wx-config-3) set(wxWidgets_CONFIG_EXECUTABLE /usr/local/bin/wx-config-3) - find_package(wxWidgets REQUIRED xrc stc richtext ribbon propgrid aui gl html qa adv core xml net base) + find_package(wxWidgets QUIET REQUIRED xrc stc richtext ribbon propgrid aui gl html qa adv core xml net base) else () set(wxWidgets_CONFIG_EXECUTABLE $ENV{WXMSW3}/bin/wx-config) - find_package(wxWidgets REQUIRED xrc stc richtext ribbon propgrid aui gl html qa adv core xml net base) + find_package(wxWidgets QUIET REQUIRED xrc stc richtext ribbon propgrid aui gl html qa adv core xml net base) endif () else () set(wxWidgets_ROOT_DIR $ENV{WXMSW3}) # This ensures that find_package will look for release configurations of libraries. # does nothing - set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." FORCE) - set(CMAKE_MAP_IMPORTED_CONFIG_RELEASE Release) - set(CMAKE_MAP_IMPORTED_CONFIG_DEBUG Release) - set(CMAKE_MAP_IMPORTED_CONFIG_RELWITHDEBUGINFO Release) - find_package(wxWidgets REQUIRED qa webview aui richtext html propgrid adv net stc core base scintilla) +# set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." FORCE) +# set(CMAKE_MAP_IMPORTED_CONFIG_RELEASE Debug) - works - uses Debug libraries for Release configuration +# set(CMAKE_MAP_IMPORTED_CONFIG_RELEASE Release) +# set(CMAKE_MAP_IMPORTED_CONFIG_DEBUG Release Release) - fails + set(CMAKE_MAP_IMPORTED_CONFIG_DEBUG RELEASE) +# set(CMAKE_MAP_IMPORTED_CONFIG_RELWITHDEBUGINFO Release) + + set(wxWidgets_CONFIGURATION "Release" CACHE STRING "wxWidgets configuration to use (Debug, Release, etc.)") +# find_package(wxWidgets REQUIRED) + + find_package(wxWidgets QUIET REQUIRED qa webview aui richtext html propgrid adv net stc core base scintilla) # For a specific imported target, e.g., MyLibrary::MyLibrary - # need 3.27 or higher for wxWidgets::wxWidgets + # need cmake 3.27 or higher for wxWidgets::wxWidgets +# check package found +# if (wxWidgets_FOUND) +# message(STATUS "Found wxWidgets (Release build): ${wxWidgets_LIBRARIES}") +# target_link_libraries( PRIVATE wxWidgets::wxWidgets) +# else() +# message(FATAL_ERROR "Could not find wxWidgets Release build.") +# endif() + + if(CMAKE_BUILD_TYPE STREQUAL "Release" OR "Release" IN_LIST CMAKE_CONFIGURATION_TYPES) + set(WX_LIBRARIES ${wxWidgets_LIBRARIES}) + endif() set_property(TARGET wxWidgets::wxWidgets PROPERTY MAP_IMPORTED_CONFIG_DEBUG Release) endif () @@ -160,10 +177,49 @@ if (NOT SAM_SKIP_TOOLS) target_link_libraries(lk_sandbox -ldl) endif () - set_property(TARGET wxWidgets::wxWidgets PROPERTY MAP_IMPORTED_CONFIG_DEBUG Release) +# set_property(lk_sandbox wxWidgets::wxWidgets PROPERTY MAP_IMPORTED_CONFIG_DEBUG Release) - string(REPLACE "d" "" wxWidgets_LIBRARIES "${wxWidgets_LIBRARIES}") +# string(REPLACE "d" "" wxWidgets_LIBRARIES "${wxWidgets_LIBRARIES}") + +# message(STATUS "wxWidgets Libraries before: ${wxWidgets_LIBRARIES}") +# if(CMAKE_BUILD_TYPE STREQUAL "Debug") +# string(REGEX MATCHALL "optimized(.*?)l" wxWidgets_Release_LIBRARIES ${wxWidgets_LIBRARIES} ) +# string(REPLACE "optimized" "debug" wxWidgets_Release_LIBRARIES "${wxWidgets_Debug_LIBRARIES}") +# message(STATUS "wxWidgets Release Libraries: ${wxWidgets_Release_LIBRARIES}") +# target_link_libraries(lk_sandbox lk ${wxWidgets_Debug_LIBRARIES}) +# else() +# target_link_libraries(lk_sandbox lk ${wxWidgets_LIBRARIES}) +# endif() + +#set(input_string "This is string1 content between string2 and then more text.") +#set(start_string "string1") +#set(end_string "string2") + +# Construct the regex pattern +# Note the need to escape backslashes if you have special regex characters +# within your start_string or end_string that need to be treated literally. +#set(regex_pattern "${start_string}(.*?)${end_string}") + +#string(REGEX MATCHALL "${regex_pattern}" matches ${input_string}) + +#foreach(match ${matches}) +# message("Matched substring: ${match}") +#endforeach() +# string(REPLACE "debug" "optimized" wxWidgets_LIBRARIES "${wxWidgets_LIBRARIES}") - target_link_libraries(lk_sandbox lk ${wxWidgets_LIBRARIES}) # target_link_libraries(lk_sandbox lk wxWidgets::wxWidgets) + target_link_libraries(lk_sandbox lk ${wxWidgets_LIBRARIES}) + + get_target_property(DEBUG_LINK_LIBS lk_sandbox LINK_LIBRARIES) +# message("Debug Link Libraries for lk_sandbox: $<${DEBUG_LINK_LIBS}>") +# message("Debug Link Libraries for lk_sandbox: ${DEBUG_LINK_LIBS}") +foreach(lib ${DEBUG_LINK_LIBS}) + string(FIND ${lib} "NOT" INDEX) + string(FIND ${lib} "<" INDEX2) + if (INDEX GREATER_EQUAL 0 OR INDEX2 LESS 0) + message("lib: ${lib}") + endif() +endforeach() + + endif() From bab420181e32a1ce5604e8a6c38a281126f0ec09 Mon Sep 17 00:00:00 2001 From: Steven Janzou Date: Wed, 10 Sep 2025 04:19:36 -0600 Subject: [PATCH 03/13] lk_sandbox generated and working with release wxWidgets libraries --- CMakeLists.txt | 49 +++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 39 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1bed913..3e4319e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -100,7 +100,7 @@ else () set(wxWidgets_CONFIGURATION "Release" CACHE STRING "wxWidgets configuration to use (Debug, Release, etc.)") # find_package(wxWidgets REQUIRED) - + set(CMAKE_FIND_DEBUG_MODE OFF) find_package(wxWidgets QUIET REQUIRED qa webview aui richtext html propgrid adv net stc core base scintilla) # For a specific imported target, e.g., MyLibrary::MyLibrary # need cmake 3.27 or higher for wxWidgets::wxWidgets @@ -112,9 +112,9 @@ else () # message(FATAL_ERROR "Could not find wxWidgets Release build.") # endif() - if(CMAKE_BUILD_TYPE STREQUAL "Release" OR "Release" IN_LIST CMAKE_CONFIGURATION_TYPES) - set(WX_LIBRARIES ${wxWidgets_LIBRARIES}) - endif() +# if(CMAKE_BUILD_TYPE STREQUAL "Release" OR "Release" IN_LIST CMAKE_CONFIGURATION_TYPES) +# set(WX_LIBRARIES ${wxWidgets_LIBRARIES}) +# endif() set_property(TARGET wxWidgets::wxWidgets PROPERTY MAP_IMPORTED_CONFIG_DEBUG Release) endif () @@ -208,18 +208,47 @@ if (NOT SAM_SKIP_TOOLS) # string(REPLACE "debug" "optimized" wxWidgets_LIBRARIES "${wxWidgets_LIBRARIES}") # target_link_libraries(lk_sandbox lk wxWidgets::wxWidgets) - target_link_libraries(lk_sandbox lk ${wxWidgets_LIBRARIES}) +# target_link_libraries(lk_sandbox lk ${wxWidgets_LIBRARIES}) - get_target_property(DEBUG_LINK_LIBS lk_sandbox LINK_LIBRARIES) +# get_target_property(DEBUG_LINK_LIBS lk_sandbox LINK_LIBRARIES) # message("Debug Link Libraries for lk_sandbox: $<${DEBUG_LINK_LIBS}>") # message("Debug Link Libraries for lk_sandbox: ${DEBUG_LINK_LIBS}") -foreach(lib ${DEBUG_LINK_LIBS}) - string(FIND ${lib} "NOT" INDEX) - string(FIND ${lib} "<" INDEX2) - if (INDEX GREATER_EQUAL 0 OR INDEX2 LESS 0) +#foreach(lib ${DEBUG_LINK_LIBS}) +# string(FIND ${lib} "NOT" INDEX) +# string(FIND ${lib} "<" INDEX2) +# if ((INDEX GREATER_EQUAL 0 OR INDEX2 LESS 0) AND (NOT ${lib} STREQUAL "lk")) +# string(REPLACE "$<$>:" "" lib "${lib}") +# string(REPLACE ">" "" lib "${lib}") +# message("lib: ${lib}") +# list(APPEND WX_LIBS_LIST ${lib}) +# endif() +#endforeach() +# string(REPLACE "$<$>:" "" DEBUG_LINK_LIBS "${DEBUG_LINK_LIBS}") +# string(REPLACE "$<$>:" "" DEBUG_LINK_LIBS "${DEBUG_LINK_LIBS}") +# string(REPLACE ">" "" DEBUG_LINK_LIBS "${DEBUG_LINK_LIBS}") +# message("Link Libraries for lk_sandbox: ${DEBUG_LINK_LIBS}") + +message("All wxWidgets: " ${wxWidgets_LIBRARIES}) +set(FOUND "false") +foreach(lib ${wxWidgets_LIBRARIES}) + string(FIND ${lib} "optimized" INDEX) + string(FIND ${lib} "debug" INDEX2) + string(FIND ${lib} "wxWidgets" INDEX3) + if (INDEX GREATER_EQUAL 0) # skip once + set(FOUND "true") + continue() + elseif((INDEX2 LESS 0) AND (INDEX3 LESS 0)) + set(FOUND "true") + endif() + if (${FOUND} STREQUAL "true") + set(FOUND "false") message("lib: ${lib}") + list(APPEND WX_LIBS_LIST ${lib}) endif() endforeach() + list(JOIN WX_LIBS_LIST ";" WX_LIBS) + message("Link Libraries for lk_sandbox: ${WX_LIBS}") + target_link_libraries(lk_sandbox lk ${WX_LIBS}) endif() From 7e943dcf2957b08f638635b0de2651547345e29f Mon Sep 17 00:00:00 2001 From: Steven Janzou Date: Thu, 11 Sep 2025 01:46:03 -0600 Subject: [PATCH 04/13] wxWidgets mapping for ORTools build handled in top level CMakeLists.txt for Windows --- CMakeLists.txt | 54 +++++++++++++++++++++++++------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3e4319e..a7aea0e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -88,20 +88,20 @@ if (UNIX) find_package(wxWidgets QUIET REQUIRED xrc stc richtext ribbon propgrid aui gl html qa adv core xml net base) endif () else () - set(wxWidgets_ROOT_DIR $ENV{WXMSW3}) +# set(wxWidgets_ROOT_DIR $ENV{WXMSW3}) # This ensures that find_package will look for release configurations of libraries. # does nothing # set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." FORCE) # set(CMAKE_MAP_IMPORTED_CONFIG_RELEASE Debug) - works - uses Debug libraries for Release configuration # set(CMAKE_MAP_IMPORTED_CONFIG_RELEASE Release) # set(CMAKE_MAP_IMPORTED_CONFIG_DEBUG Release Release) - fails - set(CMAKE_MAP_IMPORTED_CONFIG_DEBUG RELEASE) +# set(CMAKE_MAP_IMPORTED_CONFIG_DEBUG RELEASE) # set(CMAKE_MAP_IMPORTED_CONFIG_RELWITHDEBUGINFO Release) - set(wxWidgets_CONFIGURATION "Release" CACHE STRING "wxWidgets configuration to use (Debug, Release, etc.)") +# set(wxWidgets_CONFIGURATION "Release" CACHE STRING "wxWidgets configuration to use (Debug, Release, etc.)") # find_package(wxWidgets REQUIRED) - set(CMAKE_FIND_DEBUG_MODE OFF) - find_package(wxWidgets QUIET REQUIRED qa webview aui richtext html propgrid adv net stc core base scintilla) +# set(CMAKE_FIND_DEBUG_MODE OFF) +# find_package(wxWidgets QUIET REQUIRED qa webview aui richtext html propgrid adv net stc core base scintilla) # For a specific imported target, e.g., MyLibrary::MyLibrary # need cmake 3.27 or higher for wxWidgets::wxWidgets # check package found @@ -115,7 +115,7 @@ else () # if(CMAKE_BUILD_TYPE STREQUAL "Release" OR "Release" IN_LIST CMAKE_CONFIGURATION_TYPES) # set(WX_LIBRARIES ${wxWidgets_LIBRARIES}) # endif() - set_property(TARGET wxWidgets::wxWidgets PROPERTY MAP_IMPORTED_CONFIG_DEBUG Release) +# set_property(TARGET wxWidgets::wxWidgets PROPERTY MAP_IMPORTED_CONFIG_DEBUG Release) endif () include(${wxWidgets_USE_FILE}) @@ -228,27 +228,27 @@ if (NOT SAM_SKIP_TOOLS) # string(REPLACE ">" "" DEBUG_LINK_LIBS "${DEBUG_LINK_LIBS}") # message("Link Libraries for lk_sandbox: ${DEBUG_LINK_LIBS}") -message("All wxWidgets: " ${wxWidgets_LIBRARIES}) -set(FOUND "false") -foreach(lib ${wxWidgets_LIBRARIES}) - string(FIND ${lib} "optimized" INDEX) - string(FIND ${lib} "debug" INDEX2) - string(FIND ${lib} "wxWidgets" INDEX3) - if (INDEX GREATER_EQUAL 0) # skip once - set(FOUND "true") - continue() - elseif((INDEX2 LESS 0) AND (INDEX3 LESS 0)) - set(FOUND "true") - endif() - if (${FOUND} STREQUAL "true") - set(FOUND "false") - message("lib: ${lib}") - list(APPEND WX_LIBS_LIST ${lib}) - endif() -endforeach() - - list(JOIN WX_LIBS_LIST ";" WX_LIBS) - message("Link Libraries for lk_sandbox: ${WX_LIBS}") +#message("All wxWidgets: " ${wxWidgets_LIBRARIES}) +#set(FOUND "false") +#foreach(lib ${wxWidgets_LIBRARIES}) +# string(FIND ${lib} "optimized" INDEX) +# string(FIND ${lib} "debug" INDEX2) +# string(FIND ${lib} "wxWidgets" INDEX3) +# if (INDEX GREATER_EQUAL 0) # skip once +# set(FOUND "true") +# continue() +# elseif((INDEX2 LESS 0) AND (INDEX3 LESS 0)) +# set(FOUND "true") +# endif() +# if (${FOUND} STREQUAL "true") +# set(FOUND "false") +# message("lib: ${lib}") +# list(APPEND WX_LIBS_LIST ${lib}) +# endif() +#endforeach() + +# list(JOIN WX_LIBS_LIST ";" WX_LIBS) +# message("Link Libraries for lk_sandbox: ${WX_LIBS}") target_link_libraries(lk_sandbox lk ${WX_LIBS}) endif() From 266690599cb06720a37093cac348bbc40e19640d Mon Sep 17 00:00:00 2001 From: Steven Janzou Date: Thu, 11 Sep 2025 03:56:13 -0600 Subject: [PATCH 05/13] wxWidgets in top level - all but export_config building on Windows --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a7aea0e..57eaa21 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -249,6 +249,6 @@ if (NOT SAM_SKIP_TOOLS) # list(JOIN WX_LIBS_LIST ";" WX_LIBS) # message("Link Libraries for lk_sandbox: ${WX_LIBS}") - target_link_libraries(lk_sandbox lk ${WX_LIBS}) + target_link_libraries(lk_sandbox lk ${wxWidgets_LIBRARIES}) endif() From 91cc2f081fa5b467a4be417ab219c8356fd3bc9e Mon Sep 17 00:00:00 2001 From: Steven Janzou Date: Sun, 4 Jan 2026 01:57:39 -0700 Subject: [PATCH 06/13] Update for failing Windows wex runner --- CMakeLists.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 57eaa21..624bc3f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -101,7 +101,7 @@ else () # set(wxWidgets_CONFIGURATION "Release" CACHE STRING "wxWidgets configuration to use (Debug, Release, etc.)") # find_package(wxWidgets REQUIRED) # set(CMAKE_FIND_DEBUG_MODE OFF) -# find_package(wxWidgets QUIET REQUIRED qa webview aui richtext html propgrid adv net stc core base scintilla) + find_package(wxWidgets QUIET REQUIRED qa webview aui richtext html propgrid adv net stc core base scintilla) # For a specific imported target, e.g., MyLibrary::MyLibrary # need cmake 3.27 or higher for wxWidgets::wxWidgets # check package found @@ -118,7 +118,9 @@ else () # set_property(TARGET wxWidgets::wxWidgets PROPERTY MAP_IMPORTED_CONFIG_DEBUG Release) endif () -include(${wxWidgets_USE_FILE}) +if(wxWidgets_USE_FILE) + include(${wxWidgets_USE_FILE}) +endif() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${wxWidgets_CXX_FLAGS}") From 75189c3db91b198f6a8b3afc2cb331999e4307f2 Mon Sep 17 00:00:00 2001 From: Steven Janzou Date: Sun, 4 Jan 2026 02:18:37 -0700 Subject: [PATCH 07/13] MSVC updates for failing wex Windows runner when building lk --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 624bc3f..8f8b0f1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -57,7 +57,7 @@ if (MSVC) set(${flag_var} "${${flag_var}} /D_DEBUG" CACHE STRING "compile flags" FORCE) endforeach () else (MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++20") set(CMAKE_POSITION_INDEPENDENT_CODE ON) if (APPLE) add_compile_options( -fno-common) @@ -88,7 +88,7 @@ if (UNIX) find_package(wxWidgets QUIET REQUIRED xrc stc richtext ribbon propgrid aui gl html qa adv core xml net base) endif () else () -# set(wxWidgets_ROOT_DIR $ENV{WXMSW3}) + set(wxWidgets_ROOT_DIR $ENV{WXMSW3}) # This ensures that find_package will look for release configurations of libraries. # does nothing # set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." FORCE) From b19b6ca83728d85b77a65bc24e40d6c84a4a7de2 Mon Sep 17 00:00:00 2001 From: Steven Janzou Date: Sun, 4 Jan 2026 02:28:13 -0700 Subject: [PATCH 08/13] clean up CMakeLists for Windows build for wex runner --- CMakeLists.txt | 28 +--------------------------- 1 file changed, 1 insertion(+), 27 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8f8b0f1..5bb5ed7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -89,33 +89,7 @@ if (UNIX) endif () else () set(wxWidgets_ROOT_DIR $ENV{WXMSW3}) - # This ensures that find_package will look for release configurations of libraries. - # does nothing -# set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." FORCE) -# set(CMAKE_MAP_IMPORTED_CONFIG_RELEASE Debug) - works - uses Debug libraries for Release configuration -# set(CMAKE_MAP_IMPORTED_CONFIG_RELEASE Release) -# set(CMAKE_MAP_IMPORTED_CONFIG_DEBUG Release Release) - fails -# set(CMAKE_MAP_IMPORTED_CONFIG_DEBUG RELEASE) -# set(CMAKE_MAP_IMPORTED_CONFIG_RELWITHDEBUGINFO Release) - -# set(wxWidgets_CONFIGURATION "Release" CACHE STRING "wxWidgets configuration to use (Debug, Release, etc.)") -# find_package(wxWidgets REQUIRED) -# set(CMAKE_FIND_DEBUG_MODE OFF) - find_package(wxWidgets QUIET REQUIRED qa webview aui richtext html propgrid adv net stc core base scintilla) - # For a specific imported target, e.g., MyLibrary::MyLibrary - # need cmake 3.27 or higher for wxWidgets::wxWidgets -# check package found -# if (wxWidgets_FOUND) -# message(STATUS "Found wxWidgets (Release build): ${wxWidgets_LIBRARIES}") -# target_link_libraries( PRIVATE wxWidgets::wxWidgets) -# else() -# message(FATAL_ERROR "Could not find wxWidgets Release build.") -# endif() - -# if(CMAKE_BUILD_TYPE STREQUAL "Release" OR "Release" IN_LIST CMAKE_CONFIGURATION_TYPES) -# set(WX_LIBRARIES ${wxWidgets_LIBRARIES}) -# endif() -# set_property(TARGET wxWidgets::wxWidgets PROPERTY MAP_IMPORTED_CONFIG_DEBUG Release) + find_package(wxWidgets REQUIRED xrc stc richtext ribbon propgrid aui gl html qa adv core xml net base scintilla) endif () if(wxWidgets_USE_FILE) From 4889344cc60c857d94988fd07702ba98e82cf112 Mon Sep 17 00:00:00 2001 From: Steven Janzou Date: Wed, 4 Feb 2026 01:54:25 -0700 Subject: [PATCH 09/13] Fix broken lk_sandbox debug version build on Windows --- CMakeLists.txt | 84 +++----------------------------------------------- 1 file changed, 5 insertions(+), 79 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5bb5ed7..6955708 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -87,14 +87,12 @@ if (UNIX) set(wxWidgets_CONFIG_EXECUTABLE $ENV{WXMSW3}/bin/wx-config) find_package(wxWidgets QUIET REQUIRED xrc stc richtext ribbon propgrid aui gl html qa adv core xml net base) endif () -else () - set(wxWidgets_ROOT_DIR $ENV{WXMSW3}) - find_package(wxWidgets REQUIRED xrc stc richtext ribbon propgrid aui gl html qa adv core xml net base scintilla) +#else () +# set(wxWidgets_ROOT_DIR $ENV{WXMSW3}) +# find_package(wxWidgets REQUIRED xrc stc richtext ribbon propgrid aui gl html qa adv core xml net base scintilla) endif () -if(wxWidgets_USE_FILE) - include(${wxWidgets_USE_FILE}) -endif() +include(${wxWidgets_USE_FILE}) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${wxWidgets_CXX_FLAGS}") @@ -153,78 +151,6 @@ if (NOT SAM_SKIP_TOOLS) target_link_libraries(lk_sandbox -ldl) endif () -# set_property(lk_sandbox wxWidgets::wxWidgets PROPERTY MAP_IMPORTED_CONFIG_DEBUG Release) - -# string(REPLACE "d" "" wxWidgets_LIBRARIES "${wxWidgets_LIBRARIES}") - -# message(STATUS "wxWidgets Libraries before: ${wxWidgets_LIBRARIES}") -# if(CMAKE_BUILD_TYPE STREQUAL "Debug") -# string(REGEX MATCHALL "optimized(.*?)l" wxWidgets_Release_LIBRARIES ${wxWidgets_LIBRARIES} ) -# string(REPLACE "optimized" "debug" wxWidgets_Release_LIBRARIES "${wxWidgets_Debug_LIBRARIES}") -# message(STATUS "wxWidgets Release Libraries: ${wxWidgets_Release_LIBRARIES}") -# target_link_libraries(lk_sandbox lk ${wxWidgets_Debug_LIBRARIES}) -# else() -# target_link_libraries(lk_sandbox lk ${wxWidgets_LIBRARIES}) -# endif() - -#set(input_string "This is string1 content between string2 and then more text.") -#set(start_string "string1") -#set(end_string "string2") - -# Construct the regex pattern -# Note the need to escape backslashes if you have special regex characters -# within your start_string or end_string that need to be treated literally. -#set(regex_pattern "${start_string}(.*?)${end_string}") - -#string(REGEX MATCHALL "${regex_pattern}" matches ${input_string}) - -#foreach(match ${matches}) -# message("Matched substring: ${match}") -#endforeach() -# string(REPLACE "debug" "optimized" wxWidgets_LIBRARIES "${wxWidgets_LIBRARIES}") - -# target_link_libraries(lk_sandbox lk wxWidgets::wxWidgets) -# target_link_libraries(lk_sandbox lk ${wxWidgets_LIBRARIES}) - -# get_target_property(DEBUG_LINK_LIBS lk_sandbox LINK_LIBRARIES) -# message("Debug Link Libraries for lk_sandbox: $<${DEBUG_LINK_LIBS}>") -# message("Debug Link Libraries for lk_sandbox: ${DEBUG_LINK_LIBS}") -#foreach(lib ${DEBUG_LINK_LIBS}) -# string(FIND ${lib} "NOT" INDEX) -# string(FIND ${lib} "<" INDEX2) -# if ((INDEX GREATER_EQUAL 0 OR INDEX2 LESS 0) AND (NOT ${lib} STREQUAL "lk")) -# string(REPLACE "$<$>:" "" lib "${lib}") -# string(REPLACE ">" "" lib "${lib}") -# message("lib: ${lib}") -# list(APPEND WX_LIBS_LIST ${lib}) -# endif() -#endforeach() -# string(REPLACE "$<$>:" "" DEBUG_LINK_LIBS "${DEBUG_LINK_LIBS}") -# string(REPLACE "$<$>:" "" DEBUG_LINK_LIBS "${DEBUG_LINK_LIBS}") -# string(REPLACE ">" "" DEBUG_LINK_LIBS "${DEBUG_LINK_LIBS}") -# message("Link Libraries for lk_sandbox: ${DEBUG_LINK_LIBS}") - -#message("All wxWidgets: " ${wxWidgets_LIBRARIES}) -#set(FOUND "false") -#foreach(lib ${wxWidgets_LIBRARIES}) -# string(FIND ${lib} "optimized" INDEX) -# string(FIND ${lib} "debug" INDEX2) -# string(FIND ${lib} "wxWidgets" INDEX3) -# if (INDEX GREATER_EQUAL 0) # skip once -# set(FOUND "true") -# continue() -# elseif((INDEX2 LESS 0) AND (INDEX3 LESS 0)) -# set(FOUND "true") -# endif() -# if (${FOUND} STREQUAL "true") -# set(FOUND "false") -# message("lib: ${lib}") -# list(APPEND WX_LIBS_LIST ${lib}) -# endif() -#endforeach() - -# list(JOIN WX_LIBS_LIST ";" WX_LIBS) -# message("Link Libraries for lk_sandbox: ${WX_LIBS}") - target_link_libraries(lk_sandbox lk ${wxWidgets_LIBRARIES}) + target_link_libraries(lk_sandbox ${wxWidgets_LIBRARIES}) endif() From 7f2ead45509f12f694ee40c615601a29841cfd85 Mon Sep 17 00:00:00 2001 From: Steven Janzou Date: Wed, 4 Feb 2026 02:22:54 -0700 Subject: [PATCH 10/13] Fix issue with wex GA Windows runner --- CMakeLists.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6955708..308958a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -92,7 +92,9 @@ if (UNIX) # find_package(wxWidgets REQUIRED xrc stc richtext ribbon propgrid aui gl html qa adv core xml net base scintilla) endif () -include(${wxWidgets_USE_FILE}) +if (wxWidgets_FOUND) + include(${wxWidgets_USE_FILE}) +endif () set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${wxWidgets_CXX_FLAGS}") From 00de8e1a9da84923c70bd5de6d338baa8790f07c Mon Sep 17 00:00:00 2001 From: Steven Janzou Date: Thu, 5 Feb 2026 01:18:59 -0700 Subject: [PATCH 11/13] Updates for Windows debug build for GA runners --- CMakeLists.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 308958a..4a8a285 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -47,7 +47,7 @@ set(LK_SRC # ##################################################################################################################### -set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD 17) if (MSVC) add_compile_options(/W3 /wd4996 /MP) @@ -87,9 +87,9 @@ if (UNIX) set(wxWidgets_CONFIG_EXECUTABLE $ENV{WXMSW3}/bin/wx-config) find_package(wxWidgets QUIET REQUIRED xrc stc richtext ribbon propgrid aui gl html qa adv core xml net base) endif () -#else () -# set(wxWidgets_ROOT_DIR $ENV{WXMSW3}) -# find_package(wxWidgets REQUIRED xrc stc richtext ribbon propgrid aui gl html qa adv core xml net base scintilla) +else () + set(wxWidgets_ROOT_DIR $ENV{WXMSW3}) + find_package(wxWidgets REQUIRED xrc stc richtext ribbon propgrid aui gl html qa adv core xml net base scintilla) endif () if (wxWidgets_FOUND) From a045da5bcd382e3c8a70a628fc0b77377c01da66 Mon Sep 17 00:00:00 2001 From: Steven Janzou Date: Mon, 16 Feb 2026 02:23:39 -0700 Subject: [PATCH 12/13] Update all c++ cmake commands to be consistent with ortools v9.14 if(MSVC) set(CMAKE_CXX_STANDARD 20) else() set(CMAKE_CXX_STANDARD 17) endif() --- CMakeLists.txt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4a8a285..fe01068 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -47,7 +47,11 @@ set(LK_SRC # ##################################################################################################################### -set(CMAKE_CXX_STANDARD 17) +if(MSVC) + set(CMAKE_CXX_STANDARD 20) +else() + set(CMAKE_CXX_STANDARD 17) +endif() if (MSVC) add_compile_options(/W3 /wd4996 /MP) @@ -57,7 +61,6 @@ if (MSVC) set(${flag_var} "${${flag_var}} /D_DEBUG" CACHE STRING "compile flags" FORCE) endforeach () else (MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++20") set(CMAKE_POSITION_INDEPENDENT_CODE ON) if (APPLE) add_compile_options( -fno-common) From f41ee1791837d782775efb4dad28ff5ce6b82dbc Mon Sep 17 00:00:00 2001 From: Steven Janzou Date: Thu, 19 Feb 2026 00:25:29 -0700 Subject: [PATCH 13/13] All CMakeLists.txt set(CMAKE_CXX_STANDARD 20) per 2/28/2026 meeting --- CMakeLists.txt | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fe01068..352ed4b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -47,11 +47,7 @@ set(LK_SRC # ##################################################################################################################### -if(MSVC) - set(CMAKE_CXX_STANDARD 20) -else() - set(CMAKE_CXX_STANDARD 17) -endif() +set(CMAKE_CXX_STANDARD 20) if (MSVC) add_compile_options(/W3 /wd4996 /MP)