mirror of
				https://github.com/Z3Prover/z3
				synced 2025-11-04 05:19:11 +00:00 
			
		
		
		
	[CMake] When building C/C++ API examples use the same build type
as Z3 if doing a single configuration build.
This commit is contained in:
		
							parent
							
								
									4db5980a23
								
							
						
					
					
						commit
						157c8064e8
					
				
					 1 changed files with 19 additions and 2 deletions
				
			
		| 
						 | 
					@ -20,6 +20,17 @@ else()
 | 
				
			||||||
  set(EXTERNAL_C_PROJ_USE_CXX_LINKER_ARG "")
 | 
					  set(EXTERNAL_C_PROJ_USE_CXX_LINKER_ARG "")
 | 
				
			||||||
endif()
 | 
					endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if (DEFINED CMAKE_CONFIGURATION_TYPES)
 | 
				
			||||||
 | 
					  message(WARNING
 | 
				
			||||||
 | 
					    "Cannot set built type of external project when building with a "
 | 
				
			||||||
 | 
					    "multi-configuration generator")
 | 
				
			||||||
 | 
					  set(EXTERNAL_PROJECT_CMAKE_BUILD_TYPE_ARG "")
 | 
				
			||||||
 | 
					else()
 | 
				
			||||||
 | 
					  set(EXTERNAL_PROJECT_CMAKE_BUILD_TYPE_ARG
 | 
				
			||||||
 | 
					    "-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}"
 | 
				
			||||||
 | 
					  )
 | 
				
			||||||
 | 
					endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
################################################################################
 | 
					################################################################################
 | 
				
			||||||
# Build example project using libz3's C API as an external project
 | 
					# Build example project using libz3's C API as an external project
 | 
				
			||||||
################################################################################
 | 
					################################################################################
 | 
				
			||||||
| 
						 | 
					@ -30,6 +41,7 @@ ExternalProject_Add(c_example
 | 
				
			||||||
  CMAKE_ARGS
 | 
					  CMAKE_ARGS
 | 
				
			||||||
    "-DZ3_DIR=${CMAKE_BINARY_DIR}"
 | 
					    "-DZ3_DIR=${CMAKE_BINARY_DIR}"
 | 
				
			||||||
    "${EXTERNAL_C_PROJ_USE_CXX_LINKER_ARG}"
 | 
					    "${EXTERNAL_C_PROJ_USE_CXX_LINKER_ARG}"
 | 
				
			||||||
 | 
					    "${EXTERNAL_PROJECT_CMAKE_BUILD_TYPE_ARG}"
 | 
				
			||||||
  # Build step
 | 
					  # Build step
 | 
				
			||||||
  ${EXTERNAL_PROJECT_BUILD_ALWAYS_ARG}
 | 
					  ${EXTERNAL_PROJECT_BUILD_ALWAYS_ARG}
 | 
				
			||||||
  BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/c_example_build_dir"
 | 
					  BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/c_example_build_dir"
 | 
				
			||||||
| 
						 | 
					@ -48,6 +60,7 @@ ExternalProject_Add(c_maxsat_example
 | 
				
			||||||
  CMAKE_ARGS
 | 
					  CMAKE_ARGS
 | 
				
			||||||
    "-DZ3_DIR=${CMAKE_BINARY_DIR}"
 | 
					    "-DZ3_DIR=${CMAKE_BINARY_DIR}"
 | 
				
			||||||
    "${EXTERNAL_C_PROJ_USE_CXX_LINKER_ARG}"
 | 
					    "${EXTERNAL_C_PROJ_USE_CXX_LINKER_ARG}"
 | 
				
			||||||
 | 
					    "${EXTERNAL_PROJECT_CMAKE_BUILD_TYPE_ARG}"
 | 
				
			||||||
  # Build step
 | 
					  # Build step
 | 
				
			||||||
  ${EXTERNAL_PROJECT_BUILD_ALWAYS_ARG}
 | 
					  ${EXTERNAL_PROJECT_BUILD_ALWAYS_ARG}
 | 
				
			||||||
  BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/c_maxsat_example_build_dir"
 | 
					  BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/c_maxsat_example_build_dir"
 | 
				
			||||||
| 
						 | 
					@ -64,7 +77,9 @@ ExternalProject_Add(cpp_example
 | 
				
			||||||
  DEPENDS libz3
 | 
					  DEPENDS libz3
 | 
				
			||||||
  # Configure step
 | 
					  # Configure step
 | 
				
			||||||
  SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/c++"
 | 
					  SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/c++"
 | 
				
			||||||
  CMAKE_ARGS "-DZ3_DIR=${CMAKE_BINARY_DIR}"
 | 
					  CMAKE_ARGS
 | 
				
			||||||
 | 
					    "-DZ3_DIR=${CMAKE_BINARY_DIR}"
 | 
				
			||||||
 | 
					    "${EXTERNAL_PROJECT_CMAKE_BUILD_TYPE_ARG}"
 | 
				
			||||||
  # Build step
 | 
					  # Build step
 | 
				
			||||||
  ${EXTERNAL_PROJECT_BUILD_ALWAYS_ARG}
 | 
					  ${EXTERNAL_PROJECT_BUILD_ALWAYS_ARG}
 | 
				
			||||||
  BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/cpp_example_build_dir"
 | 
					  BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/cpp_example_build_dir"
 | 
				
			||||||
| 
						 | 
					@ -80,7 +95,9 @@ ExternalProject_Add(z3_tptp5
 | 
				
			||||||
  DEPENDS libz3
 | 
					  DEPENDS libz3
 | 
				
			||||||
  # Configure step
 | 
					  # Configure step
 | 
				
			||||||
  SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/tptp"
 | 
					  SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/tptp"
 | 
				
			||||||
  CMAKE_ARGS "-DZ3_DIR=${CMAKE_BINARY_DIR}"
 | 
					  CMAKE_ARGS
 | 
				
			||||||
 | 
					    "-DZ3_DIR=${CMAKE_BINARY_DIR}"
 | 
				
			||||||
 | 
					    "${EXTERNAL_PROJECT_CMAKE_BUILD_TYPE_ARG}"
 | 
				
			||||||
  # Build step
 | 
					  # Build step
 | 
				
			||||||
  ${EXTERNAL_PROJECT_BUILD_ALWAYS_ARG}
 | 
					  ${EXTERNAL_PROJECT_BUILD_ALWAYS_ARG}
 | 
				
			||||||
  BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/tptp_build_dir"
 | 
					  BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/tptp_build_dir"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue