Started from SystemC-Quickstart
This commit is contained in:
		
							
								
								
									
										45
									
								
								cmake/Conan.cmake
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								cmake/Conan.cmake
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,45 @@ | ||||
| macro(setup_conan) | ||||
|   find_program(conan conan) | ||||
|   if(NOT EXISTS ${conan}) | ||||
|     message(FATAL_ERROR "Conan is required. Please see README.md") | ||||
|     return() | ||||
|   endif() | ||||
|  | ||||
|   if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL Darwin) | ||||
|     set(os Macos) | ||||
|   else() | ||||
|     set(os ${CMAKE_HOST_SYSTEM_NAME}) | ||||
|   endif() | ||||
|  | ||||
|   if(${CMAKE_CXX_COMPILER_ID} STREQUAL GNU) | ||||
|     set(compiler gcc) | ||||
|   elseif(${CMAKE_CXX_COMPILER_ID} STREQUAL AppleClang) | ||||
|     set(compiler apple-clang) | ||||
|   else() | ||||
|     message(FATAL_ERROR "Unknown compiler: ${CMAKE_CXX_COMPILER_ID}") | ||||
|   endif() | ||||
|  | ||||
|   string(SUBSTRING ${CMAKE_CXX_COMPILER_VERSION} 0 3 compiler_version) | ||||
|  | ||||
|   set(conanfile ${CMAKE_SOURCE_DIR}/conanfile.txt) | ||||
|   set(conanfile_cmake ${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) | ||||
|   set(compiler_libcxx libstdc++11) | ||||
|  | ||||
|   if("${CMAKE_BUILD_TYPE}" STREQUAL "") | ||||
| 	set(CONAN_BUILD_TYPE Debug) | ||||
|   elseif("${CMAKE_BUILD_TYPE}" STREQUAL "RelWithDebInfo") | ||||
| 	set(CONAN_BUILD_TYPE Release) | ||||
|   else() | ||||
| 	set(CONAN_BUILD_TYPE ${CMAKE_BUILD_TYPE}) | ||||
|   endif() | ||||
|  | ||||
|   execute_process(COMMAND ${conan} install --build=missing | ||||
| 	  -s build_type=${CONAN_BUILD_TYPE} -s compiler.libcxx=${compiler_libcxx} | ||||
| 	           ${CMAKE_SOURCE_DIR} RESULT_VARIABLE return_code) | ||||
|   if(NOT ${return_code} EQUAL 0) | ||||
|     message(FATAL_ERROR "conan install command failed.") | ||||
|   endif() | ||||
|  | ||||
|   include(${conanfile_cmake}) | ||||
|   conan_basic_setup() | ||||
| endmacro() | ||||
		Reference in New Issue
	
	Block a user