Fix monolithic build in cmake (wxBUILD_MONOLITHIC)

- Functions that set wxMONO_* vars need to set them in parent scope, from macros instead of functions (functions would need grandparent scope)
- Fix a conflict with xml library linking Mono which made core include the wrong png headers
- Fix setting of NOPCH on windows to go through the wx_lib_compile_definitions instead of target_compile_definitions so it carries to monolithic build
- Allow use of precompiled header in MSVC via calling wx_finalize_lib(mono)
- Introduce wxMONO_NONCOMPILED_CPP_FILES to deal with set_source_files_properties only applying within the current CMakeLists file
- Fix demos building against monolithic library by using wx_exe_link_libraries instead of target_link_libraries (similar to what the tests already do)

Closes #18074
This commit is contained in:
Jeff Bland
2018-05-18 14:01:02 -06:00
parent ffb44a2f38
commit fbf319641e
3 changed files with 70 additions and 47 deletions

View File

@@ -35,7 +35,7 @@ function(wx_add_demo name)
if(wxBUILD_SHARED)
target_compile_definitions(${DEMO_NAME} PRIVATE WXUSINGDLL)
endif()
target_link_libraries(${DEMO_NAME} core ${DEMO_LIBRARIES})
wx_exe_link_libraries(${DEMO_NAME} core ${DEMO_LIBRARIES})
wx_set_common_target_properties(${DEMO_NAME})
set_target_properties(${DEMO_NAME} PROPERTIES FOLDER "Demos")
set_target_properties(${DEMO_NAME} PROPERTIES