Skip to content
Snippets Groups Projects

Merge 0.9

Merged Tuan Duong Quang requested to merge develop into main
547+ files
+ 17554
26666
Compare changes
  • Side-by-side
  • Inline
Files
547+
+ 85
57
@@ -8,77 +8,105 @@
# SPDX-License-Identifier: EPL-2.0
################################################################################
#
# - Find OSI
# Find the OSI includes and library
# Find Package Adapter for OSI (Open Simulation Interface)
#
# OSI_INCLUDE_DIR - Where to find OSI includes
# OSI_LIBRARIES - List of libraries when using OSI
# OSI_FOUND - True if OSI was found
# Creates the follwoing imported targets (if available):
# - osi::shared
# - osi::static
# - osi::pic
IF(OSI_INCLUDE_DIR)
SET(OSI_FIND_QUIETLY TRUE)
ENDIF(OSI_INCLUDE_DIR)
FIND_PATH(OSI_INCLUDE_DIR "osi3/osi_version.pb.h"
PATHS
${PREFIX_PATH}
$ENV{OSI_HOME}/include
$ENV{EXTERNLIBS}/OSI/include
/usr/local/include
/usr/include
DOC "OSI - Headers"
set(OSI_SHARED_NAMES
open_simulation_interface.lib
libopen_simulation_interface.dll.a
libopen_simulation_interface.so
)
SET(OSI_NAMES
osi3/open_simulation_interface.lib
osi3/libopen_simulation_interface.dll.a
osi3/libopen_simulation_interface_pic.lib
osi3/libopen_simulation_interface.so
set(OSI_STATIC_NAMES
open_simulation_interface_static.lib
libopen_simulation_interface_static.a
)
SET(OSI_DBG_NAMES
osi3/open_simulation_interfaced.lib
osi3/libopen_simulation_interfaced.dll.a
osi3/libopen_simulation_interface_picd.lib
set(OSI_PIC_NAMES
open_simulation_interface_pic.lib
libopen_simulation_interface_pic.a
)
FIND_LIBRARY(OSI_LIBRARY NAMES ${OSI_NAMES}
find_library(OSI_SHARED_LIBRARY NAMES ${OSI_SHARED_NAMES}
PATHS
${PREFIX_PATH}
$ENV{OSI_HOME}
$ENV{EXTERNLIBS}/OSI
/usr/local
/usr
PATH_SUFFIXES lib lib64
DOC "OSI - Library"
${PREFIX_PATH}
/usr/local
/usr
PATH_SUFFIXES
lib/osi3
lib
lib64
)
INCLUDE(FindPackageHandleStandardArgs)
find_library(OSI_STATIC_LIBRARY NAMES ${OSI_STATIC_NAMES}
PATHS
${PREFIX_PATH}
/usr/local
/usr
PATH_SUFFIXES
lib/osi3
lib
lib64
)
IF(MSVC)
# VisualStudio needs a debug version
FIND_LIBRARY(OSI_LIBRARY_DEBUG NAMES ${OSI_DBG_NAMES}
PATHS
find_library(OSI_PIC_LIBRARY NAMES ${OSI_PIC_NAMES}
PATHS
${PREFIX_PATH}
$ENV{OSI_HOME}/lib
$ENV{EXTERNLIBS}/OSI/lib
DOC "OSI - Library (Debug)"
)
/usr/local
/usr
PATH_SUFFIXES
lib/osi3
lib
lib64
)
if(OSI_SHARED_LIBRARY)
message(STATUS "Found OSI (shared): ${OSI_SHARED_LIBRARY}")
IF(OSI_LIBRARY_DEBUG AND OSI_LIBRARY)
SET(OSI_LIBRARIES optimized ${OSI_LIBRARY} debug ${OSI_LIBRARY_DEBUG})
ENDIF(OSI_LIBRARY_DEBUG AND OSI_LIBRARY)
get_filename_component(OSI_SHARED_LIBRARY_DIR "${OSI_SHARED_LIBRARY}" DIRECTORY)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OSI DEFAULT_MSG OSI_LIBRARY OSI_LIBRARY_DEBUG OSI_INCLUDE_DIR)
add_library(osi::shared IMPORTED SHARED)
set_target_properties(osi::shared
PROPERTIES
IMPORTED_LOCATION ${OSI_SHARED_LIBRARY}
IMPORTED_IMPLIB ${OSI_SHARED_LIBRARY}
INTERFACE_INCLUDE_DIRECTORIES ${OSI_SHARED_LIBRARY_DIR}/../../include
INTERFACE_LINK_LIBRARIES protobuf::libprotobuf)
else()
message(STATUS "Didn't find OSI (shared)")
endif()
MARK_AS_ADVANCED(OSI_LIBRARY OSI_LIBRARY_DEBUG OSI_INCLUDE_DIR)
ELSE(MSVC)
# rest of the world
SET(OSI_LIBRARIES ${OSI_LIBRARY})
if(OSI_STATIC_LIBRARY)
message(STATUS "Found OSI (static): ${OSI_STATIC_LIBRARY}")
get_filename_component(OSI_STATIC_LIBRARY_DIR "${OSI_STATIC_LIBRARY}" DIRECTORY)
add_library(osi::static IMPORTED STATIC)
set_target_properties(osi::static
PROPERTIES
IMPORTED_LOCATION ${OSI_STATIC_LIBRARY}
INTERFACE_INCLUDE_DIRECTORIES ${OSI_STATIC_LIBRARY_DIR}/../../include
INTERFACE_LINK_LIBRARIES protobuf::libprotobuf_static)
else()
message(STATUS "Didn't find OSI (static)")
endif()
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OSI DEFAULT_MSG OSI_LIBRARY OSI_INCLUDE_DIR)
MARK_AS_ADVANCED(OSI_LIBRARY OSI_INCLUDE_DIR)
ENDIF(MSVC)
if(OSI_PIC_LIBRARY)
message(STATUS "Found OSI (pic): ${OSI_PIC_LIBRARY}")
get_filename_component(OSI_PIC_LIBRARY_DIR "${OSI_PIC_LIBRARY}" DIRECTORY)
add_library(osi::pic IMPORTED STATIC)
set_target_properties(osi::pic
PROPERTIES
IMPORTED_LOCATION ${OSI_PIC_LIBRARY}
INTERFACE_INCLUDE_DIRECTORIES ${OSI_PIC_LIBRARY_DIR}/../../include
INTERFACE_LINK_LIBRARIES protobuf::libprotobuf_static)
else()
message(STATUS "Didn't find OSI (pic)")
endif()
unset(OSI_SHARED_LIBRARY)
unset(OSI_STATIC_LIBRARY)
unset(OSI_PIC_LIBRARY)
Loading