* Improve cmake files for windows - works for me now :)
Thanks to Lumirion for helpful suggestions. FindDirectX.cmake shamelessly yet not ungratefully stolen from apitrace (https://github.com/apitrace/apitrace)
This commit is contained in:
parent
e56ed86684
commit
f27b371b86
@ -30,6 +30,10 @@ option(BUILD_TOOLS "Build Tools" 0)
|
||||
|
||||
find_package(Platform REQUIRED)
|
||||
find_package(OpenSSL REQUIRED)
|
||||
if(WIN32)
|
||||
find_package(DirectX)
|
||||
endif()
|
||||
|
||||
|
||||
# VS100 uses MSBuild.exe instead of devenv.com, so force it to use devenv.com
|
||||
if(WIN32 AND MSVC_VERSION MATCHES 1600)
|
||||
|
||||
178
cmake/FindDirectX.cmake
Normal file
178
cmake/FindDirectX.cmake
Normal file
@ -0,0 +1,178 @@
|
||||
# - try to find DirectX include dirs and libraries
|
||||
|
||||
if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||
find_path (DirectX_ROOT_DIR
|
||||
Include/d3d9.h
|
||||
PATHS
|
||||
"$ENV{DXSDK_DIR}"
|
||||
"$ENV{ProgramFiles}/Microsoft DirectX SDK (June 2010)"
|
||||
"$ENV{ProgramFiles}/Microsoft DirectX SDK (February 2010)"
|
||||
"$ENV{ProgramFiles}/Microsoft DirectX SDK (March 2009)"
|
||||
"$ENV{ProgramFiles}/Microsoft DirectX SDK (August 2008)"
|
||||
"$ENV{ProgramFiles}/Microsoft DirectX SDK (June 2008)"
|
||||
"$ENV{ProgramFiles}/Microsoft DirectX SDK (March 2008)"
|
||||
"$ENV{ProgramFiles}/Microsoft DirectX SDK (November 2007)"
|
||||
"$ENV{ProgramFiles}/Microsoft DirectX SDK (August 2007)"
|
||||
"$ENV{ProgramFiles}/Microsoft DirectX SDK"
|
||||
"$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK (June 2010)"
|
||||
"$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK (February 2010)"
|
||||
"$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK (March 2009)"
|
||||
"$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK (August 2008)"
|
||||
"$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK (June 2008)"
|
||||
"$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK (March 2008)"
|
||||
"$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK (November 2007)"
|
||||
"$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK (August 2007)"
|
||||
"$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK"
|
||||
DOC "DirectX SDK root directory")
|
||||
|
||||
|
||||
find_path (DirectX_D3D_INCLUDE_DIR d3d.h
|
||||
PATHS
|
||||
"${DirectX_ROOT_DIR}/Include"
|
||||
DOC "The directory where d3d.h resides")
|
||||
|
||||
find_path (DirectX_D3DX_INCLUDE_DIR d3dx.h
|
||||
PATHS
|
||||
"${DirectX_ROOT_DIR}/Include"
|
||||
DOC "The directory where d3dx.h resides")
|
||||
|
||||
find_library (DirectX_DDRAW_LIBRARY ddraw
|
||||
PATHS
|
||||
"${DirectX_ROOT_DIR}/Lib/x86"
|
||||
DOC "The directory where ddraw resides")
|
||||
|
||||
find_library (DirectX_D3DX_LIBRARY d3dx
|
||||
PATHS
|
||||
"${DirectX_ROOT_DIR}/Lib/x86"
|
||||
DOC "The directory where d3dx resides")
|
||||
|
||||
if (DirectX_D3D_INCLUDE_DIR AND DirectX_DDRAW_LIBRARY)
|
||||
set (DirectX_D3D_FOUND 1)
|
||||
if (DirectX_D3DX_INCLUDE_DIR AND DirectX_D3DX_LIBRARY)
|
||||
set (DirectX_D3DX_FOUND 1)
|
||||
endif (DirectX_D3DX_INCLUDE_DIR AND DirectX_D3DX_LIBRARY)
|
||||
endif (DirectX_D3D_INCLUDE_DIR AND DirectX_DDRAW_LIBRARY)
|
||||
|
||||
|
||||
find_path (DirectX_D3D8_INCLUDE_DIR d3d8.h
|
||||
PATHS
|
||||
"${DirectX_ROOT_DIR}/Include"
|
||||
DOC "The directory where d3d8.h resides")
|
||||
|
||||
find_path (DirectX_D3DX8_INCLUDE_DIR d3dx8.h
|
||||
PATHS
|
||||
"${DirectX_ROOT_DIR}/Include"
|
||||
DOC "The directory where d3dx8.h resides")
|
||||
|
||||
find_library (DirectX_D3D8_LIBRARY d3d8
|
||||
PATHS
|
||||
"${DirectX_ROOT_DIR}/Lib/x86"
|
||||
DOC "The directory where d3d8 resides")
|
||||
|
||||
find_library (DirectX_D3DX8_LIBRARY d3dx8
|
||||
PATHS
|
||||
"${DirectX_ROOT_DIR}/Lib/x86"
|
||||
DOC "The directory where d3dx8 resides")
|
||||
|
||||
if (DirectX_D3D8_INCLUDE_DIR AND DirectX_D3D8_LIBRARY)
|
||||
set (DirectX_D3D8_FOUND 1)
|
||||
if (DirectX_D3DX8_INCLUDE_DIR AND DirectX_D3DX8_LIBRARY)
|
||||
set (DirectX_D3DX8_FOUND 1)
|
||||
endif (DirectX_D3DX8_INCLUDE_DIR AND DirectX_D3DX8_LIBRARY)
|
||||
endif (DirectX_D3D8_INCLUDE_DIR AND DirectX_D3D8_LIBRARY)
|
||||
|
||||
|
||||
find_path (DirectX_D3D9_INCLUDE_DIR d3d9.h
|
||||
PATHS
|
||||
"${DirectX_ROOT_DIR}/Include"
|
||||
DOC "The directory where d3d9.h resides")
|
||||
|
||||
find_path (DirectX_D3DX9_INCLUDE_DIR d3dx9.h
|
||||
PATHS
|
||||
"${DirectX_ROOT_DIR}/Include"
|
||||
DOC "The directory where d3dx9.h resides")
|
||||
|
||||
find_library (DirectX_D3D9_LIBRARY d3d9
|
||||
PATHS
|
||||
"${DirectX_ROOT_DIR}/Lib/x86"
|
||||
DOC "The directory where d3d9 resides")
|
||||
|
||||
find_library (DirectX_D3DX9_LIBRARY d3dx9
|
||||
PATHS
|
||||
"${DirectX_ROOT_DIR}/Lib/x86"
|
||||
DOC "The directory where d3dx9 resides")
|
||||
|
||||
if (DirectX_D3D9_INCLUDE_DIR AND DirectX_D3D9_LIBRARY)
|
||||
set (DirectX_D3D9_FOUND 1)
|
||||
if (DirectX_D3DX9_INCLUDE_DIR AND DirectX_D3DX9_LIBRARY)
|
||||
set (DirectX_D3DX9_FOUND 1)
|
||||
endif (DirectX_D3DX9_INCLUDE_DIR AND DirectX_D3DX9_LIBRARY)
|
||||
endif (DirectX_D3D9_INCLUDE_DIR AND DirectX_D3D9_LIBRARY)
|
||||
|
||||
|
||||
find_path (DirectX_D3D10_INCLUDE_DIR d3d10.h
|
||||
PATHS
|
||||
"${DirectX_ROOT_DIR}/Include"
|
||||
DOC "The directory where d3d10.h resides")
|
||||
|
||||
find_path (DirectX_D3DX10_INCLUDE_DIR d3dx10.h
|
||||
PATHS
|
||||
"${DirectX_ROOT_DIR}/Include"
|
||||
DOC "The directory where d3dx10.h resides")
|
||||
|
||||
find_library (DirectX_D3D10_LIBRARY d3d10
|
||||
PATHS
|
||||
"${DirectX_ROOT_DIR}/Lib/x86"
|
||||
DOC "The directory where d3d10 resides")
|
||||
|
||||
find_library (DirectX_D3DX10_LIBRARY d3dx10
|
||||
PATHS
|
||||
"${DirectX_ROOT_DIR}/Lib/x86"
|
||||
DOC "The directory where d3dx10 resides")
|
||||
|
||||
if (DirectX_D3D10_INCLUDE_DIR AND DirectX_D3D10_LIBRARY)
|
||||
set (DirectX_D3D10_FOUND 1)
|
||||
if (DirectX_D3DX10_INCLUDE_DIR AND DirectX_D3DX10_LIBRARY)
|
||||
set (DirectX_D3DX10_FOUND 1)
|
||||
endif (DirectX_D3DX10_INCLUDE_DIR AND DirectX_D3DX10_LIBRARY)
|
||||
endif (DirectX_D3D10_INCLUDE_DIR AND DirectX_D3D10_LIBRARY)
|
||||
|
||||
mark_as_advanced(
|
||||
DirectX_D3D_INCLUDE_DIR
|
||||
DirectX_D3D_INCLUDE_DIR
|
||||
DirectX_DDRAW_LIBRARY
|
||||
DirectX_DDRAW_LIBRARY
|
||||
DirectX_D3DX_INCLUDE_DIR
|
||||
DirectX_D3DX_INCLUDE_DIR
|
||||
DirectX_D3DX_LIBRARY
|
||||
DirectX_D3DX_LIBRARY
|
||||
DirectX_D3D8_INCLUDE_DIR
|
||||
DirectX_D3D8_INCLUDE_DIR
|
||||
DirectX_D3D8_LIBRARY
|
||||
DirectX_D3D8_LIBRARY
|
||||
DirectX_D3DX8_INCLUDE_DIR
|
||||
DirectX_D3DX8_INCLUDE_DIR
|
||||
DirectX_D3DX8_LIBRARY
|
||||
DirectX_D3DX8_LIBRARY
|
||||
DirectX_D3D9_INCLUDE_DIR
|
||||
DirectX_D3D9_LIBRARY
|
||||
DirectX_D3DX9_INCLUDE_DIR
|
||||
DirectX_D3DX9_LIBRARY
|
||||
DirectX_D3D10_INCLUDE_DIR
|
||||
DirectX_D3D10_LIBRARY
|
||||
DirectX_D3DX10_INCLUDE_DIR
|
||||
DirectX_D3DX10_LIBRARY
|
||||
)
|
||||
|
||||
endif (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||
|
||||
mark_as_advanced (
|
||||
DirectX_D3D_FOUND
|
||||
DirectX_D3DX_FOUND
|
||||
DirectX_D3D8_FOUND
|
||||
DirectX_D3DX8_FOUND
|
||||
DirectX_D3D9_FOUND
|
||||
DirectX_D3DX9_FOUND
|
||||
DirectX_D3D10_FOUND
|
||||
DirectX_D3DX10_FOUND
|
||||
)
|
||||
@ -85,7 +85,7 @@ to the compiler settings: -DIRR_COMPILE_WITH_DX9_DEV_PACK
|
||||
and this to the linker settings: -ld3dx9 -ld3dx8 **/
|
||||
#if defined(_IRR_WINDOWS_API_) && (!defined(__GNUC__) || defined(IRR_COMPILE_WITH_DX9_DEV_PACK))
|
||||
|
||||
#define _IRR_COMPILE_WITH_DIRECT3D_8_
|
||||
// #define _IRR_COMPILE_WITH_DIRECT3D_8_
|
||||
#define _IRR_COMPILE_WITH_DIRECT3D_9_
|
||||
|
||||
#endif
|
||||
|
||||
@ -1,9 +1,11 @@
|
||||
include_directories (${PROJECT_SOURCE_DIR}/src/dep/include ${PROJECT_SOURCE_DIR}/src/dep/include/irrlicht)
|
||||
set(INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/src/dep/include ${PROJECT_SOURCE_DIR}/src/dep/include/irrlicht ${PROJECT_SOURCE_DIR}/src/dep/include/zlib)
|
||||
if(WIN32)
|
||||
set(LIBTYPE SHARED)
|
||||
set(INCLUDE_DIRS ${INCLUDE_DIRS} ${DirectX_D3D9_INCLUDE_DIR} ${DirectX_D3DX9_INCLUDE_DIR})
|
||||
else()
|
||||
set(LIBTYPE STATIC)
|
||||
endif()
|
||||
include_directories(${INCLUDE_DIRS})
|
||||
|
||||
add_library(irrlicht ${LIBTYPE} # this may be considered a hack.
|
||||
|
||||
@ -106,11 +108,11 @@ CColladaMeshWriter.cpp
|
||||
CColorConverter.cpp
|
||||
CCSMLoader.cpp
|
||||
CCubeSceneNode.cpp
|
||||
CD3D8Driver.cpp
|
||||
CD3D8NormalMapRenderer.cpp
|
||||
CD3D8ParallaxMapRenderer.cpp
|
||||
CD3D8ShaderMaterialRenderer.cpp
|
||||
CD3D8Texture.cpp
|
||||
# CD3D8Driver.cpp
|
||||
# CD3D8NormalMapRenderer.cpp
|
||||
# CD3D8ParallaxMapRenderer.cpp
|
||||
# CD3D8ShaderMaterialRenderer.cpp
|
||||
# CD3D8Texture.cpp
|
||||
CD3D9Driver.cpp
|
||||
CD3D9HLSLMaterialRenderer.cpp
|
||||
CD3D9NormalMapRenderer.cpp
|
||||
@ -291,4 +293,7 @@ Irrlicht.cpp
|
||||
irrXML.cpp
|
||||
os.cpp
|
||||
)
|
||||
SET_TARGET_PROPERTIES (irrlicht PROPERTIES DEFINE_SYMBOL "IRRLICHT_EXPORTS" )
|
||||
if(WIN32)
|
||||
SET_TARGET_PROPERTIES (irrlicht PROPERTIES DEFINE_SYMBOL "IRRLICHT_EXPORTS" )
|
||||
target_link_libraries (irrlicht ${DirectX_D3D9_LIBRARY} ${DirectX_D3DX9_LIBRARY} Winmm)
|
||||
endif()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user