diff --git a/Tests/RunCMake/CXXModulesCompile/RunCMakeTest.cmake b/Tests/RunCMake/CXXModulesCompile/RunCMakeTest.cmake index 7cc7dbcf79..67c4222790 100644 --- a/Tests/RunCMake/CXXModulesCompile/RunCMakeTest.cmake +++ b/Tests/RunCMake/CXXModulesCompile/RunCMakeTest.cmake @@ -246,6 +246,10 @@ if ("build_database" IN_LIST CMake_TEST_MODULE_COMPILATION) set(RunCMake_CXXModules_NO_TEST 1) run_cxx_module_test(exp-builddb) + # Skip for multi-config generators. + if (NOT RunCMake_GENERATOR_IS_MULTI_CONFIG) + run_cxx_module_test(exp-builddb-emptyconfig) + endif () unset(RunCMake_CXXModules_NO_TEST) unset(RunCMake_CXXModules_TARGETS) diff --git a/Tests/RunCMake/CXXModulesCompile/exp-builddb-emptyconfig-build-check.cmake b/Tests/RunCMake/CXXModulesCompile/exp-builddb-emptyconfig-build-check.cmake new file mode 100644 index 0000000000..d87c4f5199 --- /dev/null +++ b/Tests/RunCMake/CXXModulesCompile/exp-builddb-emptyconfig-build-check.cmake @@ -0,0 +1,11 @@ +include("${CMAKE_CURRENT_LIST_DIR}/build-database-check.cmake") + +check_build_database("exp-builddb-emptyconfig" "build_database.json" NO_EXIST) +check_build_database("exp-builddb-emptyconfig" "build_database_CXX.json" NO_EXIST) + +check_build_database("exp-builddb-emptyconfig" "build_database_CXX_Debug.json" NO_EXIST) +check_build_database("exp-builddb-emptyconfig" "build_database_Debug.json" NO_EXIST) + +check_build_database("exp-builddb-emptyconfig" "CMakeFiles/export_build_database.dir/CXX_build_database.json" JUST_TARGET) + +string(REPLACE ";" "\n " RunCMake_TEST_FAILED "${RunCMake_TEST_FAILED}") diff --git a/Tests/RunCMake/CXXModulesCompile/exp-builddb-emptyconfig-check.cmake b/Tests/RunCMake/CXXModulesCompile/exp-builddb-emptyconfig-check.cmake new file mode 100644 index 0000000000..57ed805ea8 --- /dev/null +++ b/Tests/RunCMake/CXXModulesCompile/exp-builddb-emptyconfig-check.cmake @@ -0,0 +1,11 @@ +include("${CMAKE_CURRENT_LIST_DIR}/build-database-check.cmake") + +check_build_database("exp-builddb-emptyconfig" "build_database.json" NO_EXIST) +check_build_database("exp-builddb-emptyconfig" "build_database_CXX.json" NO_EXIST) + +check_build_database("exp-builddb-emptyconfig" "build_database_CXX_Debug.json" NO_EXIST) +check_build_database("exp-builddb-emptyconfig" "build_database_Debug.json" NO_EXIST) + +check_build_database("exp-builddb-emptyconfig" "CMakeFiles/export_build_database.dir/CXX_build_database.json" NO_EXIST) + +string(REPLACE ";" "\n " RunCMake_TEST_FAILED "${RunCMake_TEST_FAILED}") diff --git a/Tests/RunCMake/CXXModulesCompile/exp-builddb-emptyconfig-stderr.txt b/Tests/RunCMake/CXXModulesCompile/exp-builddb-emptyconfig-stderr.txt new file mode 100644 index 0000000000..93f55253b6 --- /dev/null +++ b/Tests/RunCMake/CXXModulesCompile/exp-builddb-emptyconfig-stderr.txt @@ -0,0 +1,5 @@ +CMake Warning \(experimental\) in CMakeLists\.txt: + CMake's support for exporting build databases is experimental\. It is meant + only for experimentation and feedback to CMake developers\. +This warning is for project developers\. Use -Wno-author or -Wno-experimental +to suppress it\. diff --git a/Tests/RunCMake/CXXModulesCompile/exp-builddb-emptyconfig-target-cmake_build_database-check.cmake b/Tests/RunCMake/CXXModulesCompile/exp-builddb-emptyconfig-target-cmake_build_database-check.cmake new file mode 100644 index 0000000000..ffa1897c2e --- /dev/null +++ b/Tests/RunCMake/CXXModulesCompile/exp-builddb-emptyconfig-target-cmake_build_database-check.cmake @@ -0,0 +1,8 @@ +include("${CMAKE_CURRENT_LIST_DIR}/build-database-check.cmake") + +check_build_database("exp-builddb-emptyconfig" "build_database.json" ALL) +check_build_database("exp-builddb-emptyconfig" "build_database_CXX.json" JUST_CXX) + +check_build_database("exp-builddb-emptyconfig" "CMakeFiles/export_build_database.dir/CXX_build_database.json" JUST_TARGET) + +string(REPLACE ";" "\n " RunCMake_TEST_FAILED "${RunCMake_TEST_FAILED}") diff --git a/Tests/RunCMake/CXXModulesCompile/exp-builddb-emptyconfig-target-cmake_build_database/CXX-check.cmake b/Tests/RunCMake/CXXModulesCompile/exp-builddb-emptyconfig-target-cmake_build_database/CXX-check.cmake new file mode 100644 index 0000000000..0c08a3e615 --- /dev/null +++ b/Tests/RunCMake/CXXModulesCompile/exp-builddb-emptyconfig-target-cmake_build_database/CXX-check.cmake @@ -0,0 +1,8 @@ +include("${CMAKE_CURRENT_LIST_DIR}/../build-database-check.cmake") + +check_build_database("exp-builddb-emptyconfig" "build_database.json" NO_EXIST) +check_build_database("exp-builddb-emptyconfig" "build_database_CXX.json" JUST_CXX) + +check_build_database("exp-builddb-emptyconfig" "CMakeFiles/export_build_database.dir/CXX_build_database.json" JUST_TARGET) + +string(REPLACE ";" "\n " RunCMake_TEST_FAILED "${RunCMake_TEST_FAILED}") diff --git a/Tests/RunCMake/CXXModulesCompile/exp-builddb-emptyconfig/CMakeLists.txt b/Tests/RunCMake/CXXModulesCompile/exp-builddb-emptyconfig/CMakeLists.txt new file mode 100644 index 0000000000..17ab78d3bb --- /dev/null +++ b/Tests/RunCMake/CXXModulesCompile/exp-builddb-emptyconfig/CMakeLists.txt @@ -0,0 +1,93 @@ +cmake_minimum_required(VERSION 3.29) +project(cxx_modules_export_build_database CXX) + +# Force empty configuration. +set(CMAKE_BUILD_TYPE "") + +include("${CMAKE_SOURCE_DIR}/../cxx-modules-rules.cmake") + +include("${CMAKE_SOURCE_DIR}/../export-build-database-setup.cmake") + +# _MBCS default append for MSVC ABI workaround: see CMP0204 +# So, force add the default value for all platforms to be consistent. +cmake_policy(SET CMP0204 NEW) +add_compile_definitions(_MBCS) + +add_compile_options(-Dfrom_compile_options) +add_compile_definitions(-Dfrom_compile_definitions) +include_directories(from_include_directories) + +add_library(provide_flags INTERFACE) +target_compile_options(provide_flags + INTERFACE + -Ddep_interface_option) +target_compile_definitions(provide_flags + INTERFACE + dep_interface_define) +target_include_directories(provide_flags + INTERFACE + dep_interface_include) + +add_library(export_build_database) +target_sources(export_build_database + PRIVATE + lib.cxx + PUBLIC + FILE_SET modules + TYPE CXX_MODULES + BASE_DIRS + "${CMAKE_CURRENT_SOURCE_DIR}" + FILES + importable.cxx) +target_compile_features(export_build_database PUBLIC cxx_std_20) +target_link_libraries(export_build_database + PRIVATE + provide_flags) + +set_property(SOURCE importable.cxx APPEND + PROPERTY COMPILE_FLAGS "-Dfrom_source_flag") +set_property(SOURCE importable.cxx APPEND + PROPERTY COMPILE_OPTIONS "-Dfrom_source_option") +set_property(SOURCE importable.cxx APPEND + PROPERTY COMPILE_DEFINITIONS "from_source_define") + +set_property(TARGET export_build_database APPEND + PROPERTY COMPILE_FLAGS "-Dfrom_compile_flags") +target_compile_options(export_build_database + PRIVATE + -Dtarget_private_option + INTERFACE + -Dtarget_interface_option + PUBLIC + -Dtarget_public_option) +target_compile_definitions(export_build_database + PRIVATE + target_private_define + INTERFACE + target_interface_define + PUBLIC + target_public_define) +target_include_directories(export_build_database + PRIVATE + target_private_include + INTERFACE + target_interface_include + PUBLIC + target_public_include) + +install(TARGETS export_build_database + EXPORT CXXModules + FILE_SET modules DESTINATION "lib/cxx/miu") +export(EXPORT CXXModules + NAMESPACE CXXModules:: + FILE "${CMAKE_CURRENT_BINARY_DIR}/export_build_database-targets.cmake") +install(TARGETS provide_flags + EXPORT CXXModulesDeps) +export(EXPORT CXXModulesDeps + NAMESPACE CXXModules:: + FILE "${CMAKE_CURRENT_BINARY_DIR}/export_build_database-dep-targets.cmake") +file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/export_build_database-config.cmake" + "include(\"\${CMAKE_CURRENT_LIST_DIR}/export_build_database-dep-targets.cmake\") +include(\"\${CMAKE_CURRENT_LIST_DIR}/export_build_database-targets.cmake\") +set(\${CMAKE_FIND_PACKAGE_NAME}_FOUND 1) +") diff --git a/Tests/RunCMake/CXXModulesCompile/exp-builddb-emptyconfig/dep_interface_include/anchor b/Tests/RunCMake/CXXModulesCompile/exp-builddb-emptyconfig/dep_interface_include/anchor new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Tests/RunCMake/CXXModulesCompile/exp-builddb-emptyconfig/importable.cxx b/Tests/RunCMake/CXXModulesCompile/exp-builddb-emptyconfig/importable.cxx new file mode 100644 index 0000000000..607680a07c --- /dev/null +++ b/Tests/RunCMake/CXXModulesCompile/exp-builddb-emptyconfig/importable.cxx @@ -0,0 +1,6 @@ +export module importable; + +export int from_import() +{ + return 0; +} diff --git a/Tests/RunCMake/CXXModulesCompile/exp-builddb-emptyconfig/lib.cxx b/Tests/RunCMake/CXXModulesCompile/exp-builddb-emptyconfig/lib.cxx new file mode 100644 index 0000000000..b144b27708 --- /dev/null +++ b/Tests/RunCMake/CXXModulesCompile/exp-builddb-emptyconfig/lib.cxx @@ -0,0 +1,6 @@ +import importable; + +int f() +{ + return from_import(); +} diff --git a/Tests/RunCMake/CXXModulesCompile/exp-builddb-emptyconfig/target_interface_include/anchor b/Tests/RunCMake/CXXModulesCompile/exp-builddb-emptyconfig/target_interface_include/anchor new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Tests/RunCMake/CXXModulesCompile/exp-builddb-emptyconfig/target_public_include/anchor b/Tests/RunCMake/CXXModulesCompile/exp-builddb-emptyconfig/target_public_include/anchor new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Tests/RunCMake/CXXModulesCompile/expect/exp-builddb-emptyconfig-all.json b/Tests/RunCMake/CXXModulesCompile/expect/exp-builddb-emptyconfig-all.json new file mode 100644 index 0000000000..55d0950661 --- /dev/null +++ b/Tests/RunCMake/CXXModulesCompile/expect/exp-builddb-emptyconfig-all.json @@ -0,0 +1,153 @@ +{ + "version": 1, + "revision": 0, + "sets": [ + { + "family-name": "export_build_database", + "name": "export_build_database@", + "translation-units": [ + { + "arguments": [ + "", + "-D_MBCS", + "-Ddep_interface_define", + "-Dfrom_compile_definitions", + "-Dtarget_private_define", + "-Dtarget_public_define", + "PATH:-I/exp-builddb-emptyconfig/from_include_directories", + "PATH:-I/exp-builddb-emptyconfig/target_private_include", + "PATH:-I/exp-builddb-emptyconfig/target_public_include", + "PATH:-I/exp-builddb-emptyconfig/dep_interface_include", + "-Dfrom_cmake_cxx_flags", + "", + "-Dfrom_compile_flags", + "-Dfrom_compile_options", + "-Dtarget_private_option", + "-Dtarget_public_option", + "-Ddep_interface_option", + "PATH:-Ddepflag=\"CMakeFiles/export_build_database.dir/lib.cxx.d\"", + "PATH:CMakeFiles/export_build_database.dir/lib.cxx", + "-c", + "PATH:/exp-builddb-emptyconfig/lib.cxx" + ], + "baseline-arguments": [ + "-D_MBCS", + "-Ddep_interface_define", + "-Dfrom_compile_definitions", + "-Dtarget_private_define", + "-Dtarget_public_define", + "PATH:-I/exp-builddb-emptyconfig/from_include_directories", + "PATH:-I/exp-builddb-emptyconfig/target_private_include", + "PATH:-I/exp-builddb-emptyconfig/target_public_include", + "PATH:-I/exp-builddb-emptyconfig/dep_interface_include", + "-Dfrom_cmake_cxx_flags", + "", + "-Dfrom_compile_flags", + "-Dfrom_compile_options", + "-Dtarget_private_option", + "-Dtarget_public_option", + "-Ddep_interface_option" + ], + "local-arguments": [ + "-D_MBCS", + "-Ddep_interface_define", + "-Dfrom_compile_definitions", + "-Dtarget_private_define", + "-Dtarget_public_define", + "PATH:-I/exp-builddb-emptyconfig/from_include_directories", + "PATH:-I/exp-builddb-emptyconfig/target_private_include", + "PATH:-I/exp-builddb-emptyconfig/target_public_include", + "PATH:-I/exp-builddb-emptyconfig/dep_interface_include", + "-Dfrom_cmake_cxx_flags", + "", + "-Dfrom_compile_flags", + "-Dfrom_compile_options", + "-Dtarget_private_option", + "-Dtarget_public_option", + "-Ddep_interface_option" + ], + "object": "PATH:CMakeFiles/export_build_database.dir/lib.cxx", + "private": true, + "provides": {}, + "requires": ["importable"], + "source": "PATH:/exp-builddb-emptyconfig/lib.cxx", + "work-directory": "" + }, + { + "arguments": [ + "", + "-D_MBCS", + "-Ddep_interface_define", + "-Dfrom_compile_definitions", + "-Dtarget_private_define", + "-Dtarget_public_define", + "PATH:-I/exp-builddb-emptyconfig/from_include_directories", + "PATH:-I/exp-builddb-emptyconfig/target_private_include", + "PATH:-I/exp-builddb-emptyconfig/target_public_include", + "PATH:-I/exp-builddb-emptyconfig/dep_interface_include", + "-Dfrom_cmake_cxx_flags", + "", + "-Dfrom_compile_flags", + "-Dfrom_compile_options", + "-Dtarget_private_option", + "-Dtarget_public_option", + "-Ddep_interface_option", + "-Dfrom_source_flag", + "-Dfrom_source_option", + "PATH:-Ddepflag=\"CMakeFiles/export_build_database.dir/importable.cxx.d\"", + "PATH:CMakeFiles/export_build_database.dir/importable.cxx", + "-c", + "PATH:/exp-builddb-emptyconfig/importable.cxx" + ], + "baseline-arguments": [ + "-D_MBCS", + "-Ddep_interface_define", + "-Dfrom_compile_definitions", + "-Dtarget_private_define", + "-Dtarget_public_define", + "PATH:-I/exp-builddb-emptyconfig/from_include_directories", + "PATH:-I/exp-builddb-emptyconfig/target_private_include", + "PATH:-I/exp-builddb-emptyconfig/target_public_include", + "PATH:-I/exp-builddb-emptyconfig/dep_interface_include", + "-Dfrom_cmake_cxx_flags", + "", + "-Dfrom_compile_flags", + "-Dfrom_compile_options", + "-Dtarget_private_option", + "-Dtarget_public_option", + "-Ddep_interface_option" + ], + "local-arguments": [ + "-D_MBCS", + "-Ddep_interface_define", + "-Dfrom_compile_definitions", + "-Dtarget_private_define", + "-Dtarget_public_define", + "PATH:-I/exp-builddb-emptyconfig/from_include_directories", + "PATH:-I/exp-builddb-emptyconfig/target_private_include", + "PATH:-I/exp-builddb-emptyconfig/target_public_include", + "PATH:-I/exp-builddb-emptyconfig/dep_interface_include", + "-Dfrom_cmake_cxx_flags", + "", + "-Dfrom_compile_flags", + "-Dfrom_compile_options", + "-Dtarget_private_option", + "-Dtarget_public_option", + "-Ddep_interface_option", + "-Dfrom_source_flag", + "-Dfrom_source_option" + ], + "object": "PATH:CMakeFiles/export_build_database.dir/importable.cxx", + "private": false, + "provides": { + "importable": "/CMakeFiles/export_build_database.dir/importable" + }, + "requires": [], + "source": "PATH:/exp-builddb-emptyconfig/importable.cxx", + "work-directory": "" + } + ], + "visible-sets": [] + } + ] +} diff --git a/Tests/RunCMake/CXXModulesCompile/expect/exp-builddb-emptyconfig-cxx.json b/Tests/RunCMake/CXXModulesCompile/expect/exp-builddb-emptyconfig-cxx.json new file mode 100644 index 0000000000..e754c98131 --- /dev/null +++ b/Tests/RunCMake/CXXModulesCompile/expect/exp-builddb-emptyconfig-cxx.json @@ -0,0 +1,153 @@ +{ + "version": 1, + "revision": 0, + "sets": [ + { + "family-name": "export_build_database", + "name": "export_build_database@", + "translation-units": [ + { + "arguments": [ + "", + "-D_MBCS", + "-Ddep_interface_define", + "-Dfrom_compile_definitions", + "-Dtarget_private_define", + "-Dtarget_public_define", + "PATH:-I/exp-builddb-emptyconfig/from_include_directories", + "PATH:-I/exp-builddb-emptyconfig/target_private_include", + "PATH:-I/exp-builddb-emptyconfig/target_public_include", + "PATH:-I/exp-builddb-emptyconfig/dep_interface_include", + "-Dfrom_cmake_cxx_flags", + "", + "-Dfrom_compile_flags", + "-Dfrom_compile_options", + "-Dtarget_private_option", + "-Dtarget_public_option", + "-Ddep_interface_option", + "PATH:-Ddepflag=\"CMakeFiles/export_build_database.dir/lib.cxx.d\"", + "PATH:CMakeFiles/export_build_database.dir/lib.cxx", + "-c", + "PATH:/exp-builddb-emptyconfig/lib.cxx" + ], + "baseline-arguments": [ + "-D_MBCS", + "-Ddep_interface_define", + "-Dfrom_compile_definitions", + "-Dtarget_private_define", + "-Dtarget_public_define", + "PATH:-I/exp-builddb-emptyconfig/from_include_directories", + "PATH:-I/exp-builddb-emptyconfig/target_private_include", + "PATH:-I/exp-builddb-emptyconfig/target_public_include", + "PATH:-I/exp-builddb-emptyconfig/dep_interface_include", + "-Dfrom_cmake_cxx_flags", + "", + "-Dfrom_compile_flags", + "-Dfrom_compile_options", + "-Dtarget_private_option", + "-Dtarget_public_option", + "-Ddep_interface_option" + ], + "local-arguments": [ + "-D_MBCS", + "-Ddep_interface_define", + "-Dfrom_compile_definitions", + "-Dtarget_private_define", + "-Dtarget_public_define", + "PATH:-I/exp-builddb-emptyconfig/from_include_directories", + "PATH:-I/exp-builddb-emptyconfig/target_private_include", + "PATH:-I/exp-builddb-emptyconfig/target_public_include", + "PATH:-I/exp-builddb-emptyconfig/dep_interface_include", + "-Dfrom_cmake_cxx_flags", + "", + "-Dfrom_compile_flags", + "-Dfrom_compile_options", + "-Dtarget_private_option", + "-Dtarget_public_option", + "-Ddep_interface_option" + ], + "object": "PATH:CMakeFiles/export_build_database.dir/lib.cxx", + "private": true, + "provides": {}, + "requires": ["importable"], + "source": "PATH:/exp-builddb-emptyconfig/lib.cxx", + "work-directory": "" + }, + { + "arguments": [ + "", + "-D_MBCS", + "-Ddep_interface_define", + "-Dfrom_compile_definitions", + "-Dtarget_private_define", + "-Dtarget_public_define", + "PATH:-I/exp-builddb-emptyconfig/from_include_directories", + "PATH:-I/exp-builddb-emptyconfig/target_private_include", + "PATH:-I/exp-builddb-emptyconfig/target_public_include", + "PATH:-I/exp-builddb-emptyconfig/dep_interface_include", + "-Dfrom_cmake_cxx_flags", + "", + "-Dfrom_compile_flags", + "-Dfrom_compile_options", + "-Dtarget_private_option", + "-Dtarget_public_option", + "-Ddep_interface_option", + "-Dfrom_source_flag", + "-Dfrom_source_option", + "PATH:-Ddepflag=\"CMakeFiles/export_build_database.dir/importable.cxx.d\"", + "PATH:CMakeFiles/export_build_database.dir/importable.cxx", + "-c", + "PATH:/exp-builddb-emptyconfig/importable.cxx" + ], + "baseline-arguments": [ + "-D_MBCS", + "-Ddep_interface_define", + "-Dfrom_compile_definitions", + "-Dtarget_private_define", + "-Dtarget_public_define", + "PATH:-I/exp-builddb-emptyconfig/from_include_directories", + "PATH:-I/exp-builddb-emptyconfig/target_private_include", + "PATH:-I/exp-builddb-emptyconfig/target_public_include", + "PATH:-I/exp-builddb-emptyconfig/dep_interface_include", + "-Dfrom_cmake_cxx_flags", + "", + "-Dfrom_compile_flags", + "-Dfrom_compile_options", + "-Dtarget_private_option", + "-Dtarget_public_option", + "-Ddep_interface_option" + ], + "local-arguments": [ + "-D_MBCS", + "-Ddep_interface_define", + "-Dfrom_compile_definitions", + "-Dtarget_private_define", + "-Dtarget_public_define", + "PATH:-I/exp-builddb-emptyconfig/from_include_directories", + "PATH:-I/exp-builddb-emptyconfig/target_private_include", + "PATH:-I/exp-builddb-emptyconfig/target_public_include", + "PATH:-I/exp-builddb-emptyconfig/dep_interface_include", + "-Dfrom_cmake_cxx_flags", + "", + "-Dfrom_compile_flags", + "-Dfrom_compile_options", + "-Dtarget_private_option", + "-Dtarget_public_option", + "-Ddep_interface_option", + "-Dfrom_source_flag", + "-Dfrom_source_option" + ], + "object": "PATH:CMakeFiles/export_build_database.dir/importable.cxx", + "private": false, + "provides": { + "importable": "PATH:/CMakeFiles/export_build_database.dir/importable" + }, + "requires": [], + "source": "PATH:/exp-builddb-emptyconfig/importable.cxx", + "work-directory": "" + } + ], + "visible-sets": [] + } + ] +} diff --git a/Tests/RunCMake/CXXModulesCompile/expect/exp-builddb-emptyconfig-target.json b/Tests/RunCMake/CXXModulesCompile/expect/exp-builddb-emptyconfig-target.json new file mode 100644 index 0000000000..55d0950661 --- /dev/null +++ b/Tests/RunCMake/CXXModulesCompile/expect/exp-builddb-emptyconfig-target.json @@ -0,0 +1,153 @@ +{ + "version": 1, + "revision": 0, + "sets": [ + { + "family-name": "export_build_database", + "name": "export_build_database@", + "translation-units": [ + { + "arguments": [ + "", + "-D_MBCS", + "-Ddep_interface_define", + "-Dfrom_compile_definitions", + "-Dtarget_private_define", + "-Dtarget_public_define", + "PATH:-I/exp-builddb-emptyconfig/from_include_directories", + "PATH:-I/exp-builddb-emptyconfig/target_private_include", + "PATH:-I/exp-builddb-emptyconfig/target_public_include", + "PATH:-I/exp-builddb-emptyconfig/dep_interface_include", + "-Dfrom_cmake_cxx_flags", + "", + "-Dfrom_compile_flags", + "-Dfrom_compile_options", + "-Dtarget_private_option", + "-Dtarget_public_option", + "-Ddep_interface_option", + "PATH:-Ddepflag=\"CMakeFiles/export_build_database.dir/lib.cxx.d\"", + "PATH:CMakeFiles/export_build_database.dir/lib.cxx", + "-c", + "PATH:/exp-builddb-emptyconfig/lib.cxx" + ], + "baseline-arguments": [ + "-D_MBCS", + "-Ddep_interface_define", + "-Dfrom_compile_definitions", + "-Dtarget_private_define", + "-Dtarget_public_define", + "PATH:-I/exp-builddb-emptyconfig/from_include_directories", + "PATH:-I/exp-builddb-emptyconfig/target_private_include", + "PATH:-I/exp-builddb-emptyconfig/target_public_include", + "PATH:-I/exp-builddb-emptyconfig/dep_interface_include", + "-Dfrom_cmake_cxx_flags", + "", + "-Dfrom_compile_flags", + "-Dfrom_compile_options", + "-Dtarget_private_option", + "-Dtarget_public_option", + "-Ddep_interface_option" + ], + "local-arguments": [ + "-D_MBCS", + "-Ddep_interface_define", + "-Dfrom_compile_definitions", + "-Dtarget_private_define", + "-Dtarget_public_define", + "PATH:-I/exp-builddb-emptyconfig/from_include_directories", + "PATH:-I/exp-builddb-emptyconfig/target_private_include", + "PATH:-I/exp-builddb-emptyconfig/target_public_include", + "PATH:-I/exp-builddb-emptyconfig/dep_interface_include", + "-Dfrom_cmake_cxx_flags", + "", + "-Dfrom_compile_flags", + "-Dfrom_compile_options", + "-Dtarget_private_option", + "-Dtarget_public_option", + "-Ddep_interface_option" + ], + "object": "PATH:CMakeFiles/export_build_database.dir/lib.cxx", + "private": true, + "provides": {}, + "requires": ["importable"], + "source": "PATH:/exp-builddb-emptyconfig/lib.cxx", + "work-directory": "" + }, + { + "arguments": [ + "", + "-D_MBCS", + "-Ddep_interface_define", + "-Dfrom_compile_definitions", + "-Dtarget_private_define", + "-Dtarget_public_define", + "PATH:-I/exp-builddb-emptyconfig/from_include_directories", + "PATH:-I/exp-builddb-emptyconfig/target_private_include", + "PATH:-I/exp-builddb-emptyconfig/target_public_include", + "PATH:-I/exp-builddb-emptyconfig/dep_interface_include", + "-Dfrom_cmake_cxx_flags", + "", + "-Dfrom_compile_flags", + "-Dfrom_compile_options", + "-Dtarget_private_option", + "-Dtarget_public_option", + "-Ddep_interface_option", + "-Dfrom_source_flag", + "-Dfrom_source_option", + "PATH:-Ddepflag=\"CMakeFiles/export_build_database.dir/importable.cxx.d\"", + "PATH:CMakeFiles/export_build_database.dir/importable.cxx", + "-c", + "PATH:/exp-builddb-emptyconfig/importable.cxx" + ], + "baseline-arguments": [ + "-D_MBCS", + "-Ddep_interface_define", + "-Dfrom_compile_definitions", + "-Dtarget_private_define", + "-Dtarget_public_define", + "PATH:-I/exp-builddb-emptyconfig/from_include_directories", + "PATH:-I/exp-builddb-emptyconfig/target_private_include", + "PATH:-I/exp-builddb-emptyconfig/target_public_include", + "PATH:-I/exp-builddb-emptyconfig/dep_interface_include", + "-Dfrom_cmake_cxx_flags", + "", + "-Dfrom_compile_flags", + "-Dfrom_compile_options", + "-Dtarget_private_option", + "-Dtarget_public_option", + "-Ddep_interface_option" + ], + "local-arguments": [ + "-D_MBCS", + "-Ddep_interface_define", + "-Dfrom_compile_definitions", + "-Dtarget_private_define", + "-Dtarget_public_define", + "PATH:-I/exp-builddb-emptyconfig/from_include_directories", + "PATH:-I/exp-builddb-emptyconfig/target_private_include", + "PATH:-I/exp-builddb-emptyconfig/target_public_include", + "PATH:-I/exp-builddb-emptyconfig/dep_interface_include", + "-Dfrom_cmake_cxx_flags", + "", + "-Dfrom_compile_flags", + "-Dfrom_compile_options", + "-Dtarget_private_option", + "-Dtarget_public_option", + "-Ddep_interface_option", + "-Dfrom_source_flag", + "-Dfrom_source_option" + ], + "object": "PATH:CMakeFiles/export_build_database.dir/importable.cxx", + "private": false, + "provides": { + "importable": "/CMakeFiles/export_build_database.dir/importable" + }, + "requires": [], + "source": "PATH:/exp-builddb-emptyconfig/importable.cxx", + "work-directory": "" + } + ], + "visible-sets": [] + } + ] +}