Skip to content

Commit

Permalink
CMake: New OE::SILVERLINING and OE::TRITON targets to get debug build…
Browse files Browse the repository at this point in the history
…s working properly. Minor cleanup on modern style. Executables now get the CMAKE_DEBUG_POSTFIX again. (#2543)
  • Loading branch information
emminizer authored May 21, 2024
1 parent 7baf41f commit 016b3e1
Show file tree
Hide file tree
Showing 5 changed files with 111 additions and 75 deletions.
87 changes: 51 additions & 36 deletions cmake/FindSilverLining.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -14,86 +14,86 @@ SET(SILVERLINING_DIR "" CACHE PATH "Location of SilverLining SDK")
IF (MSVC90)
IF (CMAKE_CL_64)
SET(SILVERLINING_ARCH "vc9/x64")
ELSE (CMAKE_CL_64)
ELSE()
SET(SILVERLINING_ARCH "vc9/win32")
ENDIF (CMAKE_CL_64)
ENDIF (MSVC90)
ENDIF()
ENDIF()

IF (MSVC80)
IF (CMAKE_CL_64)
SET(SILVERLINING_ARCH "vc8/x64")
ELSE (CMAKE_CL_64)
ELSE()
SET(SILVERLINING_ARCH "vc8/win32")
ENDIF (CMAKE_CL_64)
ENDIF (MSVC80)
ENDIF()
ENDIF()

IF (MSVC10)
IF (CMAKE_CL_64)
SET(SILVERLINING_ARCH "vc10/x64")
ELSE (CMAKE_CL_64)
ELSE()
SET(SILVERLINING_ARCH "vc10/win32")
ENDIF (CMAKE_CL_64)
ENDIF (MSVC10)
ENDIF()
ENDIF()

IF (MSVC11)
IF (CMAKE_CL_64)
SET(SILVERLINING_ARCH "vc11/x64")
ELSE (CMAKE_CL_64)
ELSE()
SET(SILVERLINING_ARCH "vc11/win32")
ENDIF (CMAKE_CL_64)
ENDIF (MSVC11)
ENDIF()
ENDIF()

IF (MSVC12)
IF (CMAKE_CL_64)
SET(SILVERLINING_ARCH "vc12/x64")
ELSE (CMAKE_CL_64)
ELSE()
SET(SILVERLINING_ARCH "vc12/win32")
ENDIF (CMAKE_CL_64)
ENDIF (MSVC12)
ENDIF()
ENDIF()

IF (MSVC14)
IF (CMAKE_CL_64)
SET(SILVERLINING_ARCH "vc14/x64")
ELSE (CMAKE_CL_64)
ELSE()
SET(SILVERLINING_ARCH "vc14/win32")
ENDIF (CMAKE_CL_64)
ENDIF (MSVC14)
ENDIF()
ENDIF()

IF (MSVC15)
IF (CMAKE_CL_64)
SET(SILVERLINING_ARCH "vc15/x64")
ELSE (CMAKE_CL_64)
ELSE()
SET(SILVERLINING_ARCH "vc15/win32")
ENDIF (CMAKE_CL_64)
ENDIF (MSVC15)
ENDIF()
ENDIF()

IF (MSVC16)
IF (CMAKE_CL_64)
SET(SILVERLINING_ARCH "vc16/x64")
ELSE (CMAKE_CL_64)
ELSE()
SET(SILVERLINING_ARCH "vc16/win32")
ENDIF (CMAKE_CL_64)
ENDIF (MSVC16)
ENDIF()
ENDIF()

IF (MSVC17)
IF (CMAKE_CL_64)
SET(SILVERLINING_ARCH "vc17/x64")
ELSE (CMAKE_CL_64)
ELSE()
SET(SILVERLINING_ARCH "vc17/win32")
ENDIF (CMAKE_CL_64)
ENDIF (MSVC17)
ENDIF()
ENDIF()

IF (MSVC71)
SET(SILVERLINING_ARCH "vc7")
ENDIF (MSVC71)
ENDIF()

IF (MSVC60)
SET(SILVERLINING_ARCH "vc6")
ENDIF (MSVC60)
ENDIF()

IF (UNIX)
SET(SILVERLINING_ARCH "linux")
ENDIF (UNIX)
ENDIF()

FIND_PATH(SILVERLINING_INCLUDE_DIR Atmosphere.h
"${SILVERLINING_DIR}/Public Headers"
Expand Down Expand Up @@ -133,7 +133,7 @@ MACRO(FIND_SILVERLINING_LIBRARY MYLIBRARY MYLIBRARYNAME)
${SILVERLINING_ARCH}
)

ENDMACRO(FIND_SILVERLINING_LIBRARY MYLIBRARY MYLIBRARYNAME)
ENDMACRO()


#FIND_SILVERLINING_LIBRARY(SILVERLINING_LIBRARY_RELEASE "SilverLining-MT-DLL;SilverLining;SilverLiningOpenGL")
Expand All @@ -144,15 +144,30 @@ FIND_SILVERLINING_LIBRARY(SILVERLINING_LIBRARY_DEBUG "SilverLining-MTD-DLL;Silve
SET(SILVERLINING_FOUND FALSE)
IF (SILVERLINING_INCLUDE_DIR AND SILVERLINING_LIBRARY AND SILVERLINING_LIBRARY_DEBUG)
SET(SILVERLINING_FOUND TRUE)
add_library(OE::SILVERLINING SHARED IMPORTED)
set_target_properties(OE::SILVERLINING PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${SILVERLINING_INCLUDE_DIR}"
)
if(WIN32)
set_target_properties(OE::SILVERLINING PROPERTIES
IMPORTED_IMPLIB "${SILVERLINING_LIBRARY}"
IMPORTED_IMPLIB_DEBUG "${SILVERLINING_LIBRARY_DEBUG}"
)
else()
set_target_properties(OE::SILVERLINING PROPERTIES
IMPORTED_LOCATION "${SILVERLINING_LIBRARY}"
IMPORTED_LOCATION_DEBUG "${SILVERLINING_LIBRARY_DEBUG}"
)
endif()
#SET(SILVERLINING_LIBRARY debug ${SILVERLINING_LIBRARY_DEBUG} optimized ${SILVERLINING_LIBRARY_RELEASE})
ENDIF (SILVERLINING_INCLUDE_DIR AND SILVERLINING_LIBRARY AND SILVERLINING_LIBRARY_DEBUG)
ENDIF()

IF (SILVERLINING_FOUND)
IF (NOT SILVERLINING_FIND_QUIETLY)
MESSAGE(STATUS "Found SilverLining: ${SILVERLINING_LIBRARY}")
ENDIF (NOT SILVERLINING_FIND_QUIETLY)
ELSE (SILVERLINING_FOUND)
ENDIF()
ELSE()
IF (SILVERLINING_FIND_REQUIRED)
MESSAGE(FATAL_ERROR "Could not find SilverLining")
ENDIF (SILVERLINING_FIND_REQUIRED)
ENDIF (SILVERLINING_FOUND)
ENDIF()
ENDIF()
87 changes: 51 additions & 36 deletions cmake/FindTriton.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -14,86 +14,86 @@ SET(TRITON_DIR "" CACHE PATH "Location of Triton SDK")
IF (MSVC90)
IF (CMAKE_CL_64)
SET(TRITON_ARCH "vc9/x64")
ELSE (CMAKE_CL_64)
ELSE()
SET(TRITON_ARCH "vc9/win32")
ENDIF (CMAKE_CL_64)
ENDIF (MSVC90)
ENDIF()
ENDIF()

IF (MSVC80)
IF (CMAKE_CL_64)
SET(TRITON_ARCH "vc8/x64")
ELSE (CMAKE_CL_64)
ELSE()
SET(TRITON_ARCH "vc8/win32")
ENDIF (CMAKE_CL_64)
ENDIF (MSVC80)
ENDIF()
ENDIF()

IF (MSVC10)
IF (CMAKE_CL_64)
SET(TRITON_ARCH "vc10/x64")
ELSE (CMAKE_CL_64)
ELSE()
SET(TRITON_ARCH "vc10/win32")
ENDIF (CMAKE_CL_64)
ENDIF (MSVC10)
ENDIF()
ENDIF()

IF (MSVC11)
IF (CMAKE_CL_64)
SET(TRITON_ARCH "vc11/x64")
ELSE (CMAKE_CL_64)
ELSE()
SET(TRITON_ARCH "vc11/win32")
ENDIF (CMAKE_CL_64)
ENDIF (MSVC11)
ENDIF()
ENDIF()

IF (MSVC12)
IF (CMAKE_CL_64)
SET(TRITON_ARCH "vc12/x64")
ELSE (CMAKE_CL_64)
ELSE()
SET(TRITON_ARCH "vc12/win32")
ENDIF (CMAKE_CL_64)
ENDIF (MSVC12)
ENDIF()
ENDIF()

IF (MSVC14)
IF (CMAKE_CL_64)
SET(TRITON_ARCH "vc14/x64")
ELSE (CMAKE_CL_64)
ELSE()
SET(TRITON_ARCH "vc14/win32")
ENDIF (CMAKE_CL_64)
ENDIF (MSVC14)
ENDIF()
ENDIF()

IF (MSVC15)
IF (CMAKE_CL_64)
SET(TRITON_ARCH "vc15/x64")
ELSE (CMAKE_CL_64)
ELSE()
SET(TRITON_ARCH "vc15/win32")
ENDIF (CMAKE_CL_64)
ENDIF (MSVC15)
ENDIF()
ENDIF()

IF (MSVC16)
IF (CMAKE_CL_64)
SET(TRITON_ARCH "vc16/x64")
ELSE (CMAKE_CL_64)
ELSE()
SET(TRITON_ARCH "vc16/win32")
ENDIF (CMAKE_CL_64)
ENDIF (MSVC16)
ENDIF()
ENDIF()

IF (MSVC17)
IF (CMAKE_CL_64)
SET(TRITON_ARCH "vc17/x64")
ELSE (CMAKE_CL_64)
ELSE()
SET(TRITON_ARCH "vc17/win32")
ENDIF (CMAKE_CL_64)
ENDIF (MSVC17)
ENDIF()
ENDIF()

IF (MSVC71)
SET(TRITON_ARCH "vc7")
ENDIF (MSVC71)
ENDIF()

IF (MSVC60)
SET(TRITON_ARCH "vc6")
ENDIF (MSVC60)
ENDIF()

IF (UNIX)
SET(TRITON_ARCH "linux")
ENDIF (UNIX)
ENDIF()

FIND_PATH(TRITON_INCLUDE_DIR Triton.h
"${TRITON_DIR}/Public Headers"
Expand Down Expand Up @@ -133,7 +133,7 @@ MACRO(FIND_TRITON_LIBRARY MYLIBRARY MYLIBRARYNAME)
${TRITON_ARCH}
)

ENDMACRO(FIND_TRITON_LIBRARY MYLIBRARY MYLIBRARYNAME)
ENDMACRO()


FIND_TRITON_LIBRARY(TRITON_LIBRARY "Triton-MT-DLL;Triton")
Expand All @@ -142,15 +142,30 @@ FIND_TRITON_LIBRARY(TRITON_LIBRARY_DEBUG "Triton-MTD-DLL;Triton")
SET(TRITON_FOUND FALSE)
IF (TRITON_INCLUDE_DIR AND TRITON_LIBRARY AND TRITON_LIBRARY_DEBUG)
SET(TRITON_FOUND TRUE)
add_library(OE::TRITON SHARED IMPORTED)
set_target_properties(OE::TRITON PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${TRITON_INCLUDE_DIR}"
)
if(WIN32)
set_target_properties(OE::TRITON PROPERTIES
IMPORTED_IMPLIB "${TRITON_LIBRARY}"
IMPORTED_IMPLIB_DEBUG "${TRITON_LIBRARY_DEBUG}"
)
else()
set_target_properties(OE::TRITON PROPERTIES
IMPORTED_LOCATION "${TRITON_LIBRARY}"
IMPORTED_LOCATION_DEBUG "${TRITON_LIBRARY_DEBUG}"
)
endif()
#SET(TRITON_LIBRARY debug ${TRITON_LIBRARY_DEBUG} optimized ${TRITON_LIBRARY_RELEASE})
ENDIF (TRITON_INCLUDE_DIR AND TRITON_LIBRARY AND TRITON_LIBRARY_DEBUG)
ENDIF()

IF (TRITON_FOUND)
IF (NOT TRITON_FIND_QUIETLY)
MESSAGE(STATUS "Found Triton: ${TRITON_LIBRARY}")
ENDIF (NOT TRITON_FIND_QUIETLY)
ELSE (TRITON_FOUND)
ENDIF()
ELSE()
IF (TRITON_FIND_REQUIRED)
MESSAGE(FATAL_ERROR "Could not find Triton")
ENDIF (TRITON_FIND_REQUIRED)
ENDIF (TRITON_FOUND)
ENDIF()
ENDIF()
8 changes: 7 additions & 1 deletion cmake/osgearth-macros.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -256,7 +256,13 @@ macro(add_osgearth_app)
set(MY_FOLDER "Ungrouped")
endif()

set_property(TARGET ${MY_TARGET} PROPERTY FOLDER "${MY_FOLDER}")
set_target_properties(${MY_TARGET} PROPERTIES
FOLDER "${MY_FOLDER}"
DEBUG_POSTFIX "${CMAKE_DEBUG_POSTFIX}"
RELEASE_POSTFIX "${CMAKE_RELEASE_POSTFIX}"
RELWITHDEBINFO_POSTFIX "${CMAKE_RELWITHDEBINFO_POSTFIX}"
MINSIZEREL_POSTFIX "${CMAKE_MINSIZEREL_POSTFIX}"
)
endif()

endmacro(add_osgearth_app)
Expand Down
2 changes: 1 addition & 1 deletion src/osgEarthSilverLining/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ include_directories(
${SILVERLINING_INCLUDE_DIR})

target_link_libraries(${LIB_NAME}
PUBLIC osgEarth ${OPENSCENEGRAPH_LIBRARIES} ${OPENGL_LIBRARIES} ${SILVERLINING_LIBRARY})
PUBLIC osgEarth ${OPENSCENEGRAPH_LIBRARIES} ${OPENGL_LIBRARIES} OE::SILVERLINING)

# Add this project to the NodeKits solution folder
set_property( TARGET ${LIB_NAME} PROPERTY FOLDER "NodeKits" )
2 changes: 1 addition & 1 deletion src/osgEarthTriton/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ include_directories(
)

target_link_libraries(${LIB_NAME}
PUBLIC osgEarth ${OPENSCENEGRAPH_LIBRARIES} ${OPENGL_LIBRARIES} ${TRITON_LIBRARY})
PUBLIC osgEarth ${OPENSCENEGRAPH_LIBRARIES} ${OPENGL_LIBRARIES} OE::TRITON)

# Add this project to the NodeKits solution folder
set_property( TARGET ${LIB_NAME} PROPERTY FOLDER "NodeKits" )

0 comments on commit 016b3e1

Please sign in to comment.