mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-31 12:41:20 -06:00 
			
		
		
		
	 fbc174ad06
			
		
	
	
		fbc174ad06
		
	
	
	
	
		
			
			* Remove unused libnest2d files. Make it use the global build script targets. * Modify FindTBB to address multi-config builds and take care of __TBB_NO_IMPLICIT_LINKAGE * Move FindNLopt to project common cmake module dir * Rename libnest.hpp to nester.hpp and libnest.h to libnest.hpp * Clean up common test suite build scripts
		
			
				
	
	
		
			130 lines
		
	
	
	
		
			4.1 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			130 lines
		
	
	
	
		
			4.1 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| #///////////////////////////////////////////////////////////////////////////
 | |
| #//-------------------------------------------------------------------------
 | |
| #//
 | |
| #// Description:
 | |
| #//      cmake module for finding NLopt installation
 | |
| #//      NLopt installation location is defined by environment variable $NLOPT
 | |
| #//
 | |
| #//      following variables are defined:
 | |
| #//      NLopt_DIR              - NLopt installation directory
 | |
| #//      NLopt_INCLUDE_DIR      - NLopt header directory
 | |
| #//      NLopt_LIBRARY_DIR      - NLopt library directory
 | |
| #//      NLopt_LIBS             - NLopt library files
 | |
| #//
 | |
| #//      Example usage:
 | |
| #//          find_package(NLopt 1.4 REQUIRED)
 | |
| #//
 | |
| #//
 | |
| #//-------------------------------------------------------------------------
 | |
| 
 | |
| 
 | |
| set(NLopt_FOUND        FALSE)
 | |
| set(NLopt_ERROR_REASON "")
 | |
| set(NLopt_DEFINITIONS  "")
 | |
| unset(NLopt_LIBS CACHE)
 | |
| 
 | |
| set(NLopt_DIR $ENV{NLOPT})
 | |
| if(NOT NLopt_DIR)
 | |
| 
 | |
| 	set(NLopt_FOUND TRUE)
 | |
| 
 | |
| 	set(_NLopt_LIB_NAMES "nlopt")
 | |
| 	find_library(NLopt_LIBS
 | |
| 		NAMES ${_NLopt_LIB_NAMES})
 | |
| 	if(NOT NLopt_LIBS)
 | |
| 		set(NLopt_FOUND FALSE)
 | |
| 		set(NLopt_ERROR_REASON "${NLopt_ERROR_REASON} Cannot find NLopt library '${_NLopt_LIB_NAMES}'.")
 | |
| 	else()
 | |
| 		get_filename_component(NLopt_DIR ${NLopt_LIBS} PATH)
 | |
| 	endif()
 | |
| 	unset(_NLopt_LIB_NAMES)
 | |
| 
 | |
| 	set(_NLopt_HEADER_FILE_NAME "nlopt.hpp")
 | |
| 	find_file(_NLopt_HEADER_FILE
 | |
| 		NAMES ${_NLopt_HEADER_FILE_NAME})
 | |
| 	if(NOT _NLopt_HEADER_FILE)
 | |
| 		set(NLopt_FOUND FALSE)
 | |
| 		set(NLopt_ERROR_REASON "${NLopt_ERROR_REASON} Cannot find NLopt header file '${_NLopt_HEADER_FILE_NAME}'.")
 | |
| 	endif()
 | |
| 	unset(_NLopt_HEADER_FILE_NAME)
 | |
| 	
 | |
| 	if(NOT NLopt_FOUND)
 | |
| 		set(NLopt_ERROR_REASON "${NLopt_ERROR_REASON} NLopt not found in system directories (and environment variable NLOPT is not set).")
 | |
| 	else()
 | |
| 	get_filename_component(NLopt_INCLUDE_DIR ${_NLopt_HEADER_FILE} DIRECTORY )
 | |
| 	endif()
 | |
| 
 | |
|     unset(_NLopt_HEADER_FILE CACHE)
 | |
| 
 | |
| else()
 | |
| 
 | |
| 	set(NLopt_FOUND TRUE)
 | |
| 
 | |
| 	set(NLopt_INCLUDE_DIR "${NLopt_DIR}/include")
 | |
| 	if(NOT EXISTS "${NLopt_INCLUDE_DIR}")
 | |
| 		set(NLopt_FOUND FALSE)
 | |
| 		set(NLopt_ERROR_REASON "${NLopt_ERROR_REASON} Directory '${NLopt_INCLUDE_DIR}' does not exist.")
 | |
| 	endif()
 | |
| 
 | |
| 	set(NLopt_LIBRARY_DIR "${NLopt_DIR}/lib")
 | |
| 	if(NOT EXISTS "${NLopt_LIBRARY_DIR}")
 | |
| 		set(NLopt_FOUND FALSE)
 | |
| 		set(NLopt_ERROR_REASON "${NLopt_ERROR_REASON} Directory '${NLopt_LIBRARY_DIR}' does not exist.")
 | |
| 	endif()
 | |
| 
 | |
| 	set(_NLopt_LIB_NAMES "nlopt_cxx")
 | |
| 	find_library(NLopt_LIBS
 | |
| 		NAMES ${_NLopt_LIB_NAMES}
 | |
| 		PATHS ${NLopt_LIBRARY_DIR}
 | |
| 		NO_DEFAULT_PATH)
 | |
| 	if(NOT NLopt_LIBS)
 | |
| 		set(NLopt_FOUND FALSE)
 | |
| 		set(NLopt_ERROR_REASON "${NLopt_ERROR_REASON} Cannot find NLopt library '${_NLopt_LIB_NAMES}' in '${NLopt_LIBRARY_DIR}'.")
 | |
| 	endif()
 | |
| 	unset(_NLopt_LIB_NAMES)
 | |
| 
 | |
| 	set(_NLopt_HEADER_FILE_NAME "nlopt.hpp")
 | |
| 	find_file(_NLopt_HEADER_FILE
 | |
| 		NAMES ${_NLopt_HEADER_FILE_NAME}
 | |
| 		PATHS ${NLopt_INCLUDE_DIR}
 | |
| 		NO_DEFAULT_PATH)
 | |
| 	if(NOT _NLopt_HEADER_FILE)
 | |
| 		set(NLopt_FOUND FALSE)
 | |
| 		set(NLopt_ERROR_REASON "${NLopt_ERROR_REASON} Cannot find NLopt header file '${_NLopt_HEADER_FILE_NAME}' in '${NLopt_INCLUDE_DIR}'.")
 | |
| 	endif()
 | |
| 	unset(_NLopt_HEADER_FILE_NAME)
 | |
| 	unset(_NLopt_HEADER_FILE CACHE)
 | |
| 
 | |
| endif()
 | |
| 
 | |
| 
 | |
| # make variables changeable
 | |
| mark_as_advanced(
 | |
| 	NLopt_INCLUDE_DIR
 | |
| 	NLopt_LIBRARY_DIR
 | |
| 	NLopt_LIBS
 | |
| 	NLopt_DEFINITIONS
 | |
| 	)
 | |
| 
 | |
| 
 | |
| # report result
 | |
| if(NLopt_FOUND)
 | |
| 	message(STATUS "Found NLopt in '${NLopt_DIR}'.")
 | |
| 	message(STATUS "Using NLopt include directory '${NLopt_INCLUDE_DIR}'.")
 | |
| 	message(STATUS "Using NLopt library '${NLopt_LIBS}'.")
 | |
| 	add_library(NLopt::nlopt INTERFACE IMPORTED)
 | |
| 	set_target_properties(NLopt::nlopt PROPERTIES INTERFACE_LINK_LIBRARIES ${NLopt_LIBS})
 | |
| 	set_target_properties(NLopt::nlopt PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${NLopt_INCLUDE_DIR})
 | |
| 	set_target_properties(NLopt::nlopt PROPERTIES INTERFACE_COMPILE_DEFINITIONS "${NLopt_DEFINITIONS}")
 | |
| 	# target_link_libraries(Nlopt::Nlopt INTERFACE ${NLopt_LIBS})
 | |
| 	# target_include_directories(Nlopt::Nlopt INTERFACE ${NLopt_INCLUDE_DIR})
 | |
|     # target_compile_definitions(Nlopt::Nlopt INTERFACE ${NLopt_DEFINITIONS})
 | |
| else()
 | |
| 	if(NLopt_FIND_REQUIRED)
 | |
| 		message(FATAL_ERROR "Unable to find requested NLopt installation:${NLopt_ERROR_REASON}")
 | |
| 	else()
 | |
| 		if(NOT NLopt_FIND_QUIETLY)
 | |
| 			message(STATUS "NLopt was not found:${NLopt_ERROR_REASON}")
 | |
| 		endif()
 | |
| 	endif()
 | |
| endif()
 |