mirror of
https://github.com/4ian/GDevelop.git
synced 2025-10-15 10:19:04 +00:00
Merge branch 'macos-bundle'
Conflicts: Core/GDCore/DocMainPage.h
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -30,6 +30,9 @@
|
||||
Binaries/Packaging/debian-source-package/gdevelop/
|
||||
Binaries/Packaging/opensuse-build-service/gdevelop/
|
||||
Binaries/Packaging/opensuse-build-service/final/
|
||||
Binaries/Packaging/GDevelop.app/Contents/Frameworks
|
||||
Binaries/Packaging/GDevelop.app/Contents/Resources
|
||||
Binaries/Packaging/logs
|
||||
/WebIDE
|
||||
*.depend
|
||||
*.layout
|
||||
@@ -49,6 +52,7 @@ Binaries/Packaging/opensuse-build-service/final/
|
||||
/Binaries/Output/Release_Linux/**
|
||||
/Binaries/Output/Debug_Darwin/**
|
||||
/Binaries/Output/Release_Darwin/**
|
||||
/Binaries/Output/Frameworks/
|
||||
!/Binaries/Output/Release_Linux/StartGDevelop.sh
|
||||
!/Binaries/Output/Release_Linux/CppPlatform/
|
||||
/Binaries/**/MinGW32
|
||||
|
BIN
Binaries/Output/Release_Windows/Examples/01.jpg
Executable file
BIN
Binaries/Output/Release_Windows/Examples/01.jpg
Executable file
Binary file not shown.
After Width: | Height: | Size: 7.8 KiB |
BIN
Binaries/Output/Release_Windows/Examples/02.jpg
Executable file
BIN
Binaries/Output/Release_Windows/Examples/02.jpg
Executable file
Binary file not shown.
After Width: | Height: | Size: 7.2 KiB |
BIN
Binaries/Output/Release_Windows/Examples/03.jpg
Executable file
BIN
Binaries/Output/Release_Windows/Examples/03.jpg
Executable file
Binary file not shown.
After Width: | Height: | Size: 7.3 KiB |
BIN
Binaries/Output/Release_Windows/Examples/04.jpg
Executable file
BIN
Binaries/Output/Release_Windows/Examples/04.jpg
Executable file
Binary file not shown.
After Width: | Height: | Size: 7.3 KiB |
BIN
Binaries/Output/Release_Windows/Examples/05.jpg
Executable file
BIN
Binaries/Output/Release_Windows/Examples/05.jpg
Executable file
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
BIN
Binaries/Output/Release_Windows/Examples/06.jpg
Executable file
BIN
Binaries/Output/Release_Windows/Examples/06.jpg
Executable file
Binary file not shown.
After Width: | Height: | Size: 5.9 KiB |
1176
Binaries/Output/Release_Windows/Examples/Slot machine.gdg
Normal file
1176
Binaries/Output/Release_Windows/Examples/Slot machine.gdg
Normal file
File diff suppressed because it is too large
Load Diff
32
Binaries/Packaging/GDevelop.app/Contents/Info.plist
Normal file
32
Binaries/Packaging/GDevelop.app/Contents/Info.plist
Normal file
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>GDevelop</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>GDIDELauncher.sh</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>icon.ico</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.gdevelop.gdide</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>GDevelop</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>10.6</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>NSApplication</string>
|
||||
</dict>
|
||||
</plist>
|
5
Binaries/Packaging/GDevelop.app/Contents/MacOS/GDIDELauncher.sh
Executable file
5
Binaries/Packaging/GDevelop.app/Contents/MacOS/GDIDELauncher.sh
Executable file
@@ -0,0 +1,5 @@
|
||||
#! /bin/sh
|
||||
|
||||
cd "$(dirname "$0")"
|
||||
cd ../Resources
|
||||
./GDIDE 2>~/Desktop/result.txt
|
46
Binaries/Packaging/PackageForMacOS.sh
Executable file
46
Binaries/Packaging/PackageForMacOS.sh
Executable file
@@ -0,0 +1,46 @@
|
||||
#!/bin/sh
|
||||
#Simply copy the entire GDevelop release directory into the bundle...
|
||||
rm -rf GDevelop.app/Contents/Resources
|
||||
mkdir -p GDevelop.app/Contents/Resources
|
||||
cp -r ../Output/Release_Darwin/ GDevelop.app/Contents/Resources/
|
||||
cp -rf ../../ExtLibs/SFML/extlibs/libs-osx/Frameworks GDevelop.app/Contents/
|
||||
|
||||
type dylibbundler >/dev/null 2>&1 || { echo >&2 "Can't find dylibbundler, required to change libraries install names. Aborting..."; exit 1; }
|
||||
|
||||
#...and modify the internal paths to wxWidgets libraries:
|
||||
#they are hardcoded in the executable (to /usr/local/lib or wherever they
|
||||
#are installed).
|
||||
#We use dylibbundler, that call install_name_tool to update the path to
|
||||
#the external libs we depend one (i.e: wxWidgets). It also copy these
|
||||
#libs into the 'libs' folder.
|
||||
cd GDevelop.app/Contents/Resources/
|
||||
echo . | dylibbundler -x GDIDE -b -cd -od -of -p '@executable_path/' > /dev/null
|
||||
mv libs/* .
|
||||
rm -rf libs
|
||||
|
||||
#Do the same for GDCore and GDCpp.
|
||||
#We don't need -b flag anymore as all external libs have already being copied.
|
||||
echo . | dylibbundler -x libGDCpp.dylib -cd -od -of -p '@executable_path/' > /dev/null
|
||||
echo . | dylibbundler -x libGDCore.dylib -cd -od -of -p '@executable_path/' > /dev/null
|
||||
|
||||
#Do the same for GDJS
|
||||
cat <<EOF | dylibbundler -x JsPlatform/libGDJS.dylib -cd -od -of -p '@executable_path/' > /dev/null
|
||||
JsPlatform
|
||||
.
|
||||
quit
|
||||
EOF
|
||||
|
||||
#Do the same for all extensions
|
||||
for file in `ls CppPlatform/Extensions/*.xgde`
|
||||
do
|
||||
echo "Updating libraries for $file..."
|
||||
cat <<EOF | dylibbundler -x $file -cd -od -of -p '@executable_path/' > /dev/null
|
||||
JsPlatform
|
||||
CppPlatform/Extensions/
|
||||
.
|
||||
JsPlatform
|
||||
CppPlatform/Extensions/
|
||||
.
|
||||
quit
|
||||
EOF
|
||||
done
|
53
Binaries/Packaging/PackageForWindows.bat
Normal file
53
Binaries/Packaging/PackageForWindows.bat
Normal file
@@ -0,0 +1,53 @@
|
||||
@echo off > %TEMP%\#
|
||||
md logs
|
||||
setLocal EnableDelayedExpansion
|
||||
|
||||
echo Script for packaging GDevelop for Windows
|
||||
echo.
|
||||
|
||||
::Try to find Inno Setup
|
||||
set INNOSETUP_EXE=C:\Program Files (x86)\Inno Setup 5\ISCC.exe
|
||||
IF NOT EXIST "%INNOSETUP_EXE%" set INNOSETUP_EXE=C:\Program Files\Inno Setup 5\ISCC.exe
|
||||
IF EXIST "%INNOSETUP_EXE%" (
|
||||
echo "Note: InnoSetup found at %INNOSETUP_EXE%"
|
||||
) ELSE (
|
||||
echo Warning: InnoSetup not found! Skipping installer creation.
|
||||
SET SKIPINSTALLER=1
|
||||
)
|
||||
|
||||
echo Please ensure that locale directory is up to date with latest translations.
|
||||
pause
|
||||
|
||||
echo Compiling Release target...
|
||||
cd ..
|
||||
IF EXIST "build" (
|
||||
cd build
|
||||
mingw32-make -j 4
|
||||
cd ..
|
||||
) ELSE (
|
||||
echo Unable to find build directory, just make sure that GD is compiled inside Release_Windows
|
||||
)
|
||||
|
||||
echo.
|
||||
echo --Removing useless files...
|
||||
del Output\Release_Windows\Examples\*.gdg.autosave > NUL 2> NUL
|
||||
del Output\Release_Windows\log.txt > NUL 2> NUL
|
||||
|
||||
echo.
|
||||
echo --Creating installer...
|
||||
IF NOT "%SKIPINSTALLER%"=="1" "C:\Program Files (x86)\Inno Setup 5\ISCC.exe" Releases\InnoSetupInstallerScript.iss /Q
|
||||
IF "%SKIPINSTALLER%"=="1" echo (Skipped)
|
||||
|
||||
echo.
|
||||
echo --Creating archive...
|
||||
if exist Releases\gd3xxxx.zip (del Releases\gd3xxxx.zip)
|
||||
cd Output\Release_Windows\
|
||||
IF NOT "%SKIPINSTALLERANDARCHIVE%"=="1" "..\..\..\ExtLibs\7za.exe" a ..\..\Releases\gd3xxxx.zip * > ..\..\Packaging\logs\zipArchiveLog.txt
|
||||
IF "%SKIPINSTALLERANDARCHIVE%"=="1" echo (Skipped)
|
||||
cd ..\..\..
|
||||
|
||||
echo. >CON
|
||||
echo Finished. Do not forget to : >CON
|
||||
echo -Update news.txt >CON
|
||||
echo -Update pad file >CON
|
||||
pause >CON
|
@@ -1,5 +1,2 @@
|
||||
This directory is used to package GDevelop for linux targets.
|
||||
For Windows, packaging is made using Inno Setup, see the Binaries/Releases directory.
|
||||
|
||||
For all systems, the packaging scripts should be called by the main script
|
||||
doing the full release procedure (see the root scripts directory).
|
||||
This directory contains scripts used to package GDevelop.
|
||||
For Windows, packaging is made using Inno Setup, please ensure you have it installed.
|
@@ -21,7 +21,11 @@ gd_set_option(NO_GUI FALSE BOOL "TRUE to build without wxWidgets GUI")
|
||||
|
||||
#Setting up installation directory, for Linux. (Has to be done before "project" command)
|
||||
IF(NOT WIN32)
|
||||
if (NOT APPLE)
|
||||
gd_set_option(GD_INSTALL_PREFIX "/opt/gdevelop/" STRING "The directory where GDevelop should be installed")
|
||||
ELSE()
|
||||
gd_set_option(GD_INSTALL_PREFIX "." STRING "The directory where GDevelop should be installed")
|
||||
ENDIF()
|
||||
|
||||
#As we embed SFML, prevent it to be installed system-wide
|
||||
set(CMAKE_INSTALL_PREFIX "${GD_INSTALL_PREFIX}/useless")
|
||||
@@ -34,6 +38,9 @@ IF(NOT WIN32 AND NOT APPLE AND NOT BUILD_TESTS)
|
||||
ENDIF()
|
||||
IF(APPLE)
|
||||
set(CMAKE_MACOSX_RPATH 1)
|
||||
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE)
|
||||
set(CMAKE_INSTALL_RPATH ".")
|
||||
set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_WCHAR_H_CPLUSPLUS_98_CONFORMANCE_")
|
||||
ENDIF()
|
||||
|
||||
@@ -41,9 +48,6 @@ ENDIF()
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
message( "CMAKE_BUILD_TYPE is empty, assuming build type is Release" )
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
IF(NOT WIN32 AND CMAKE_COMPILER_IS_GNUCXX)
|
||||
SET(CMAKE_SHARED_LINKER_FLAGS "-s") #Force stripping to avoid errors when packaging for linux.
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
IF (EMSCRIPTEN)
|
||||
set(NO_GUI TRUE CACHE BOOL "" FORCE) #Force disable gui when compiling with emscripten.
|
||||
@@ -51,6 +55,13 @@ IF (EMSCRIPTEN)
|
||||
set(BUILD_IDE FALSE CACHE BOOL "" FORCE) #Force disable IDE when compiling with emscripten.
|
||||
ENDIF()
|
||||
|
||||
IF("${CMAKE_BUILD_TYPE}" STREQUAL "Release" AND NOT WIN32 AND CMAKE_COMPILER_IS_GNUCXX)
|
||||
SET(CMAKE_SHARED_LINKER_FLAGS "-s") #Force stripping to avoid errors when packaging for linux.
|
||||
ENDIF()
|
||||
|
||||
if(EMSCRIPTEN) #When compiling for the web, ensure we get no warning when using our own external libraries.
|
||||
SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --bind -Wno-warn-absolute-paths" )
|
||||
ENDIF()
|
||||
|
||||
#Activate C++11
|
||||
include(CheckCXXCompilerFlag)
|
||||
@@ -64,6 +75,9 @@ else()
|
||||
message(FATAL_ERROR "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support (with GNU extensions). Please use a different C++ compiler.")
|
||||
endif()
|
||||
|
||||
#Define common directories:
|
||||
set(GD_base_dir ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
||||
#Add all the CMakeLists:
|
||||
ADD_SUBDIRECTORY(ExtLibs)
|
||||
IF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/Core/CMakeLists.txt" AND BUILD_CORE)
|
||||
@@ -78,11 +92,9 @@ ENDIF()
|
||||
IF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/IDE/CMakeLists.txt" AND BUILD_IDE)
|
||||
ADD_SUBDIRECTORY(IDE)
|
||||
ENDIF()
|
||||
IF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/WebIDE/CMakeLists.txt" AND EMSCRIPTEN)
|
||||
ADD_SUBDIRECTORY(WebIDE)
|
||||
ENDIF()
|
||||
IF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/Extensions/CMakeLists.txt" AND BUILD_EXTENSIONS)
|
||||
ADD_SUBDIRECTORY(Extensions)
|
||||
ENDIF()
|
||||
IF (EMSCRIPTEN)
|
||||
IF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/WebIDE/CMakeLists.txt")
|
||||
ADD_SUBDIRECTORY(WebIDE)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
@@ -8,39 +8,16 @@ SET(CMAKE_CXX_USE_RESPONSE_FILE_FOR_OBJECTS 1)
|
||||
SET(CMAKE_C_USE_RESPONSE_FILE_FOR_INCLUDES 1)
|
||||
SET(CMAKE_CXX_USE_RESPONSE_FILE_FOR_INCLUDES 1)
|
||||
|
||||
#Sanity checks
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
message( "CMAKE_BUILD_TYPE is empty, assuming build type is Release" )
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
ENDIF()
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-s") ## Strip binary
|
||||
ENDIF()
|
||||
endif()
|
||||
if(EMSCRIPTEN) #When compiling for the web, ensure we get no warning when using our own external libraries.
|
||||
SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-warn-absolute-paths --bind" )
|
||||
ENDIF()
|
||||
|
||||
#Common directories:
|
||||
###
|
||||
set(GD_base_dir ${CMAKE_CURRENT_SOURCE_DIR}/..)
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
set(wxwidgets_include_dir ${GD_base_dir}/ExtLibs/wxwidgets/include)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswud)
|
||||
ELSE()
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswu)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_lib_dir ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll)
|
||||
ENDIF(WIN32)
|
||||
#Define common directories:
|
||||
set(GDCORE_include_dir ${GD_base_dir}/Core PARENT_SCOPE)
|
||||
set(GDCORE_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME} PARENT_SCOPE)
|
||||
|
||||
#Dependencies on external libraries:
|
||||
###
|
||||
include_directories(${sfml_include_dir})
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
include_directories(${wxwidgets_include_dir})
|
||||
ELSEIF (NOT NO_GUI)
|
||||
ELSEIF (NOT EMSCRIPTEN AND NOT NO_GUI)
|
||||
find_package(wxWidgets COMPONENTS core base adv net ribbon stc aui propgrid richtext html xrc REQUIRED)
|
||||
include( "${wxWidgets_USE_FILE}" )
|
||||
include_directories(${GTK_INCLUDE_DIRS})
|
||||
@@ -100,12 +77,11 @@ ENDIF()
|
||||
add_library(GDCore SHARED ${source_files})
|
||||
IF(EMSCRIPTEN)
|
||||
set_target_properties(GDCore PROPERTIES SUFFIX ".bc")
|
||||
ENDIF()
|
||||
IF(WIN32)
|
||||
ELSEIF(WIN32)
|
||||
set_target_properties(GDCore PROPERTIES PREFIX "")
|
||||
ELSE()
|
||||
set_target_properties(GDCore PROPERTIES PREFIX "lib")
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
set(LIBRARY_OUTPUT_PATH ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(ARCHIVE_OUTPUT_PATH ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(RUNTIME_OUTPUT_PATH ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
@@ -115,19 +91,9 @@ set(RUNTIME_OUTPUT_PATH ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMA
|
||||
IF(EMSCRIPTEN)
|
||||
#Nothing.
|
||||
ELSE()
|
||||
target_link_libraries(GDCore sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
IF(WIN32)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
target_link_libraries(GDCore ${wxwidgets_lib_dir}/libwxmsw30ud_xrc.a ${wxwidgets_lib_dir}/libwxmsw30ud_stc.a ${wxwidgets_lib_dir}/libwxmsw30ud_richtext.a ${wxwidgets_lib_dir}/libwxmsw30ud_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30ud_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30ud_aui.a ${wxwidgets_lib_dir}/libwxmsw30ud_adv.a ${wxwidgets_lib_dir}/libwxmsw30ud_html.a ${wxwidgets_lib_dir}/libwxmsw30ud_core.a ${wxwidgets_lib_dir}/libwxbase30ud_xml.a ${wxwidgets_lib_dir}/libwxbase30ud_net.a ${wxwidgets_lib_dir}/libwxexpatd.a ${wxwidgets_lib_dir}/libwxbase30ud.a ${wxwidgets_lib_dir}/libwxpngd.a ${wxwidgets_lib_dir}/libwxjpegd.a ${wxwidgets_lib_dir}/libwxzlibd.a ${wxwidgets_lib_dir}/libwxtiffd.a)
|
||||
ELSE()
|
||||
target_link_libraries(GDCore ${wxwidgets_lib_dir}/libwxmsw30u_xrc.a ${wxwidgets_lib_dir}/libwxmsw30u_stc.a ${wxwidgets_lib_dir}/libwxmsw30u_richtext.a ${wxwidgets_lib_dir}/libwxmsw30u_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30u_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30u_aui.a ${wxwidgets_lib_dir}/libwxmsw30u_adv.a ${wxwidgets_lib_dir}/libwxmsw30u_html.a ${wxwidgets_lib_dir}/libwxmsw30u_core.a ${wxwidgets_lib_dir}/libwxbase30u_xml.a ${wxwidgets_lib_dir}/libwxbase30u_net.a ${wxwidgets_lib_dir}/libwxexpat.a ${wxwidgets_lib_dir}/libwxbase30u.a ${wxwidgets_lib_dir}/libwxpng.a ${wxwidgets_lib_dir}/libwxjpeg.a ${wxwidgets_lib_dir}/libwxzlib.a ${wxwidgets_lib_dir}/libwxtiff.a)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
target_link_libraries(GDCore ws2_32 user32 opengl32 glu32 psapi)
|
||||
ELSE ()
|
||||
target_link_libraries(GDCore ${wxWidgets_LIBRARIES})
|
||||
target_link_libraries(GDCore ${GTK_LIBRARIES})
|
||||
ENDIF()
|
||||
target_link_libraries(GDCore ${sfml_LIBRARIES})
|
||||
target_link_libraries(GDCore ${wxWidgets_LIBRARIES})
|
||||
target_link_libraries(GDCore ${GTK_LIBRARIES})
|
||||
ENDIF()
|
||||
|
||||
#Tests
|
||||
@@ -138,12 +104,11 @@ if(BUILD_TESTS)
|
||||
test_source_files
|
||||
tests/*
|
||||
)
|
||||
|
||||
add_executable(GDCore_tests ${test_source_files})
|
||||
set_target_properties(GDCore_tests PROPERTIES BUILD_WITH_INSTALL_RPATH FALSE) #Allow finding dependencies directly from build path on Mac OS X.
|
||||
target_link_libraries(GDCore_tests GDCore)
|
||||
target_link_libraries(GDCore_tests sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
IF (NOT APPLE)
|
||||
target_link_libraries(GDCore_tests GLU GL)
|
||||
ENDIF()
|
||||
target_link_libraries(GDCore_tests ${sfml_LIBRARIES})
|
||||
target_link_libraries(GDCore_tests ${wxWidgets_LIBRARIES})
|
||||
target_link_libraries(GDCore_tests ${GTK_LIBRARIES})
|
||||
endif()
|
||||
|
@@ -785,7 +785,7 @@ void GD_CORE_API BuiltinExtensionsImplementer::ImplementsBaseObjectExtension(gd:
|
||||
extension.AddCondition("CollisionNP", //"CollisionNP" cames from an old condition to test collision between two sprites non precisely.
|
||||
_("Collision"),
|
||||
_("Test the collision between two objects using their collision mask.\nNote that some objects may not have a collision mask.\nSome others, like Sprite, provide also more precise collision conditions."),
|
||||
_("_PARAM0_ is in collision with _PARAM1_ ( Collision masks )"),
|
||||
_("_PARAM0_ is in collision with _PARAM1_"),
|
||||
_("Collision"),
|
||||
"res/conditions/collision24.png",
|
||||
"res/conditions/collision.png")
|
||||
|
@@ -37,9 +37,10 @@
|
||||
*
|
||||
* If you didn't already downloaded GDevelop, get and extract the source from [GitHub](https://github.com/4ian/GD).
|
||||
*
|
||||
* Follow these steps to be able to compile GDevelop, it's super easy:
|
||||
*
|
||||
* <b>Windows</b>
|
||||
*
|
||||
* Follow these three steps to be able to compile GDevelop and the extensions:
|
||||
* -# \subpage installWinCompiler
|
||||
* -# \ref installAndUseCMake
|
||||
* <br>
|
||||
@@ -48,6 +49,10 @@
|
||||
* -# \subpage installLinuxLib
|
||||
* -# \subpage installAndUseCMake
|
||||
*
|
||||
* <b>OS X</b>
|
||||
* -# \subpage installMacOSTools
|
||||
* -# \ref installAndUseCMake
|
||||
*
|
||||
* See the recommended tools and conventions for working on GDevelop on this page:
|
||||
* \subpage recommendedToolsAndConventions
|
||||
*/
|
||||
@@ -91,24 +96,27 @@
|
||||
/**
|
||||
* \page installAndUseCMake (All) Install CMake & launch the build
|
||||
*
|
||||
* Building is done using CMake: It is an open-source build system that can generate build files for lots of IDE and build tools (Makefiles...).
|
||||
* Building is done using CMake: it is an open-source build system that can generate build files for lots of IDE and build tools (Makefiles...).
|
||||
*
|
||||
* \section installAndUseCMake_download Download and install CMake
|
||||
*
|
||||
* First, install CMake:
|
||||
* Download it [here](http://www.cmake.org/cmake/resources/software.html) or get it using your package manager if you're
|
||||
* using a Linux distribution.
|
||||
* Download it [here](http://www.cmake.org/cmake/resources/software.html) for Windows, get it using your package manager if you're
|
||||
* using a Linux distribution or using Homebrew for Mac OS X.
|
||||
*
|
||||
* \section installAndUseCMake_use Using CMake to generate the build files
|
||||
* Using CMake is not difficult and require only a few clicks/commands to enter. Windows users may use
|
||||
* the GUI as shown in the next section. Linux and Mac OS X users may prefer to use the command line as shown
|
||||
* as the end of this page.
|
||||
*
|
||||
* \subsection installAndUseCMake_use_gui Using the GUI
|
||||
*
|
||||
* - Start the CMake user interface (_cmake-gui_). Choose the GD root directory as the source directory, and Binaries/.build as the directory where to build the binaries:
|
||||
* - Start the CMake user interface (_cmake-gui_). Choose the GD root directory as the source directory, and Binaries/build as the directory where to build the binaries:
|
||||
|
||||
\image html usecmake1.png
|
||||
|
||||
* - Click on *Configure*. If asked to create the build directory, answer yes. Choose then your favorite generator: *MinGW Makefiles* (on Windows) or *Unix Makefiles* (on Linux) generate a traditional Makefile that can be built using the
|
||||
* *mingw32-make* (on Windows) or *make* (on Linux) command. You can also choose the *Ninja* generator to use the [Ninja build system](http://martine.github.io/ninja/).
|
||||
* - Click on *Configure*. If asked to create the build directory, answer yes. Choose then your favorite generator: *MinGW Makefiles* (on Windows) or *Unix Makefiles* (on Linux/OS X) generate a traditional Makefile that can be built using the
|
||||
* *mingw32-make* (on Windows) or *make* (on Linux/OS X) command. You can also choose the *Ninja* generator to use the [Ninja build system](http://martine.github.io/ninja/).
|
||||
|
||||
\image html usecmake2.png
|
||||
|
||||
@@ -117,26 +125,28 @@
|
||||
|
||||
\image html usecmake3.png
|
||||
|
||||
* - You can then launch a terminal/command prompt, go to the .build folder ( `cd GDRootFolder/Binaries/.build` ) and launch the build
|
||||
* using the generator you've choosen: `mingw32-make`, or `make` on Linux.
|
||||
* - You can then launch a terminal/command prompt, go to the build folder (`cd path/to/GD/Binaries/build`) and launch the build
|
||||
* using the generator you've choosen: `mingw32-make`, or `make` on Linux/OS X.
|
||||
*
|
||||
* \subsection installAndUseCMake_use_cmd Using the command line
|
||||
*
|
||||
* Using the commandline with CMake is also easy:
|
||||
*
|
||||
* ~~~~~~~~~~~~~~~~~~~~~
|
||||
* cd GDRootFolder/Binaries
|
||||
* mkdir .build
|
||||
* cd .build
|
||||
* cmake ../.. -G "MinGW Makefiles"
|
||||
* mingw32-make
|
||||
* cd /path/to/GD/Binaries
|
||||
* mkdir build
|
||||
* cd build
|
||||
* cmake ../..
|
||||
* make
|
||||
* ~~~~~~~~~~~~~~~~~~~~~
|
||||
*
|
||||
* For Windows, replace `cmake ../..` by `cmake ../.. -G "MinGW Makefiles"` and `make` by `mingw32-make`.
|
||||
*
|
||||
* or using the fast [Ninja build system](http://martine.github.io/ninja/) :
|
||||
* ~~~~~~~~~~~~~~~~~~~~~
|
||||
* cd GDRootFolder/Binaries
|
||||
* mkdir .build
|
||||
* cd .build
|
||||
* cd /path/to/GD/Binaries
|
||||
* mkdir build
|
||||
* cd build
|
||||
* cmake ../.. -G "Ninja"
|
||||
* ninja
|
||||
* ~~~~~~~~~~~~~~~~~~~~~
|
||||
@@ -187,6 +197,40 @@ sudo apt-get install libgtk2.0-dev
|
||||
* You'll need CMake to build GDevelop: See more on \subpage installAndUseCMake.
|
||||
*/
|
||||
|
||||
/**
|
||||
* \page installMacOSTools (Mac OS X) Install development tools
|
||||
*
|
||||
* Make sure that you have Apple Developer Tools installed (if you have Xcode and git, that should be the case).
|
||||
*
|
||||
* \section installTools Install development tools
|
||||
*
|
||||
* The simplest way of installing dependencies required by GDevelop is to use [Homebrew](http://brew.sh/). Install it
|
||||
* and install these packages, using the terminal:
|
||||
\code
|
||||
brew install cmake
|
||||
brew install p7zip
|
||||
brew install pkgconfig
|
||||
brew install wxwidgets
|
||||
\endcode
|
||||
* If you want to generate the documentation, install Doxygen:
|
||||
\code
|
||||
brew install doxygen
|
||||
\endcode
|
||||
*
|
||||
* \section launchCompilation Launch compilation
|
||||
*
|
||||
* You should be able to compile GD using CMake. Go with a terminal to the GD source folder:
|
||||
\code
|
||||
cd /path/to/GD
|
||||
mkdir build && cd build
|
||||
cmake ../..
|
||||
make -j4
|
||||
\endcode
|
||||
*
|
||||
* More information about compilation here: \ref installAndUseCMake
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* \page recommendedToolsAndConventions Recommended tools and advices to work with GD
|
||||
*
|
||||
@@ -206,16 +250,9 @@ sudo apt-get install libgtk2.0-dev
|
||||
*
|
||||
* \section designers Visual designers for IDE or GDCore dialogs
|
||||
*
|
||||
* \subsection oldDesigner "Old" dialogs created with wxSmith
|
||||
* If you want to edit a dialog, first search if there is a file called *filename*.wxs in the folder *wxsmith* (in GDCore,
|
||||
* GDCpp or IDE). If it is present, the dialog was made using the wxSmith visual designer integrated into the Code::Blocks IDE:
|
||||
* - Download [Code::Blocks](http://www.codeblocks.org/) and launch it.
|
||||
* - Open the .cbp in GDCore, GDCpp or IDE folder.
|
||||
* - In the tab "Resources", locate the dialog to edit.
|
||||
*
|
||||
* \subsection newDesigner "New" dialogs created with wxCrafter
|
||||
*
|
||||
* New dialogs are designed using [wxCrafter](wxcrafter.codelite.org/). Download and launch it.
|
||||
* New dialogs are designed using [wxCrafter](http://wxcrafter.codelite.org/). Download and launch it.
|
||||
*
|
||||
* All dialogs of GDCore, GDCpp, GDJS or the IDE created using wxCrafter are stored into a single .wxcp file in
|
||||
* the wxsmith folder, next to files of dialogs created with wxSmith.<br>
|
||||
@@ -226,6 +263,13 @@ sudo apt-get install libgtk2.0-dev
|
||||
* wxCrafter creates base classes for dialog (their names start by *Base*), and any code must be inserted into
|
||||
* a derived class. See examples in *GDJS*.
|
||||
*
|
||||
* \subsection oldDesigner "Old" dialogs created with wxSmith
|
||||
* If you want to edit a dialog, first search if there is a file called *filename*.wxs in the folder *wxsmith* (in GDCore,
|
||||
* GDCpp or IDE). If it is present, the dialog was made using the wxSmith visual designer integrated into the Code::Blocks IDE:
|
||||
* - Download [Code::Blocks](http://www.codeblocks.org/) and launch it.
|
||||
* - Open the .cbp in GDCore, GDCpp or IDE folder.
|
||||
* - In the tab "Resources", locate the dialog to edit.
|
||||
*
|
||||
* ------
|
||||
*
|
||||
* \section git Git and GitHub
|
||||
|
@@ -91,7 +91,9 @@ void CommentEvent::Render(wxDC & dc, int x, int y, unsigned int width, gd::Event
|
||||
dc.SetPen(wxPen(wxColour(r/2, v/2, b/2), 1));
|
||||
|
||||
//Draw the background
|
||||
wxRect rectangle(x, y, width-2, text1Height > text2Height ? sideSeparation+text1Height+sideSeparation : sideSeparation+text2Height+sideSeparation);
|
||||
unsigned int height = std::max(text1Height, text2Height)+sideSeparation*2;
|
||||
height = std::max(height, (unsigned int)15);
|
||||
wxRect rectangle(x, y, width-2, height);
|
||||
dc.GradientFillLinear(rectangle, wxColour(r+20 > 255 ? 255 : r+20, v+20 > 255 ? 255 : v+20, b+20 > 255 ? 255 : b+20), wxColour(r, v, b), wxSOUTH);
|
||||
dc.DrawRectangle(rectangle);
|
||||
|
||||
@@ -139,7 +141,9 @@ unsigned int CommentEvent::GetRenderedHeight(unsigned int width, const gd::Platf
|
||||
renderingHelper->GetHTMLRenderer().SetHtmlText(str2);
|
||||
unsigned int text2Height = renderingHelper->GetHTMLRenderer().GetTotalHeight();
|
||||
|
||||
renderedHeight = text1Height > text2Height ? sideSeparation+text1Height+sideSeparation : sideSeparation+text2Height+sideSeparation;
|
||||
unsigned int height = std::max(text1Height, text2Height)+sideSeparation*2;
|
||||
height = std::max(height, (unsigned int)15);
|
||||
renderedHeight = height;
|
||||
}
|
||||
#endif
|
||||
return renderedHeight+2;//2 : 2 small borders
|
||||
|
@@ -12,7 +12,7 @@ namespace gd
|
||||
{
|
||||
|
||||
/**
|
||||
* \brief A link pointing to external events ( or events of another layout ) that should be included
|
||||
* \brief A link pointing to external events (or events of another layout) that should be included
|
||||
* and run instead of the link.
|
||||
*/
|
||||
class GD_CORE_API LinkEvent : public gd::BaseEvent
|
||||
@@ -23,12 +23,12 @@ public:
|
||||
virtual gd::LinkEvent * Clone() const { return new LinkEvent(*this);}
|
||||
|
||||
/**
|
||||
* Get the link target ( i.e. the scene or external events the link refers to )
|
||||
* Get the link target (i.e. the scene or external events the link refers to).
|
||||
*/
|
||||
const std::string & GetTarget() const { return target; };
|
||||
|
||||
/**
|
||||
* Change the link target ( i.e. the scene or external events the link refers to )
|
||||
* Change the link target (i.e. the scene or external events the link refers to).
|
||||
*/
|
||||
void SetTarget(const std::string & target_) { target = target_; };
|
||||
|
||||
@@ -48,12 +48,12 @@ public:
|
||||
void SetIncludeStartAndEnd(unsigned int includeStart_, unsigned int includeEnd_) { includeStart = includeStart_; includeEnd = includeEnd_; };
|
||||
|
||||
/**
|
||||
* Get the number of the first event to be included. ( Meaningful only if includeAll was set to false, see SetIncludeAllEvents )
|
||||
* Get the number of the first event to be included. (Meaningful only if includeAll was set to false, see SetIncludeAllEvents)
|
||||
*/
|
||||
unsigned int GetIncludeStart() const { return includeStart; };
|
||||
|
||||
/**
|
||||
* Get the number of the last event to be included. ( Meaningful only if includeAll was set to false, see SetIncludeAllEvents )
|
||||
* Get the number of the last event to be included. (Meaningful only if includeAll was set to false, see SetIncludeAllEvents)
|
||||
*/
|
||||
unsigned int GetIncludeEnd() const { return includeEnd; };
|
||||
|
||||
@@ -73,7 +73,7 @@ public:
|
||||
/**
|
||||
* \brief Replace the link in the events list by the linked events.
|
||||
* When implementing a platform with a link event, you should call this function when preprocessing the events
|
||||
* ( See gd::EventMetadata::codeGeneration ).
|
||||
* (See gd::EventMetadata::codeGeneration).
|
||||
*/
|
||||
void ReplaceLinkByLinkedEvents(gd::Project & project, EventsList & eventList, unsigned int indexOfTheEventInThisList);
|
||||
|
||||
@@ -95,7 +95,7 @@ public:
|
||||
virtual void UnserializeFrom(gd::Project & project, const SerializerElement & element);
|
||||
|
||||
private:
|
||||
std::string target; ///< The name of the external events ( or scene ) to be included
|
||||
std::string target; ///< The name of the external events (or scene) to be included
|
||||
bool includeAll; ///< If set to true, all the events of the target should be included
|
||||
unsigned int includeStart; ///< If includeAll is set to false, represents the number of the first event of the target to included.
|
||||
unsigned int includeEnd; ///< If includeAll is set to false, represents the number of the last event of the target to included.
|
||||
|
@@ -85,7 +85,7 @@ public:
|
||||
void EmptyObjectsListNeeded(const std::string & objectName);
|
||||
|
||||
/**
|
||||
* Return true if an object list has already been declared ( or is going to be declared ).
|
||||
* Return true if an object list has already been declared (or is going to be declared).
|
||||
*/
|
||||
bool ObjectAlreadyDeclared(const std::string & objectName) const { return (alreadyDeclaredObjectsLists.find(objectName) != alreadyDeclaredObjectsLists.end()); };
|
||||
|
||||
|
@@ -122,7 +122,7 @@ public:
|
||||
gd::ExpressionMetadata & AddCodeOnlyParameter(const std::string & type, const std::string & supplementaryInformation);
|
||||
|
||||
/**
|
||||
* Set the default value used in editor ( or if an optional parameter is empty during code generation ) for the latest added parameter.
|
||||
* Set the default value used in editor (or if an optional parameter is empty during code generation) for the latest added parameter.
|
||||
*
|
||||
* \see AddParameter
|
||||
*/
|
||||
|
@@ -256,7 +256,7 @@ std::string Serializer::ToJSON(const SerializerElement & element)
|
||||
it != attributes.end();++it)
|
||||
{
|
||||
if ( !firstChild ) str += ",";
|
||||
str += "\""+it->first+"\": "+ValueToJSON(it->second);
|
||||
str += StringToQuotedJSONString(it->first.c_str())+": "+ValueToJSON(it->second);
|
||||
|
||||
firstChild = false;
|
||||
}
|
||||
@@ -268,7 +268,7 @@ std::string Serializer::ToJSON(const SerializerElement & element)
|
||||
continue;
|
||||
|
||||
if ( !firstChild ) str += ",";
|
||||
str += "\""+children[i].first+"\": "+ToJSON(*children[i].second);
|
||||
str += StringToQuotedJSONString(children[i].first.c_str())+": "+ToJSON(*children[i].second);
|
||||
|
||||
firstChild = false;
|
||||
}
|
||||
|
@@ -42,7 +42,7 @@ size_t SystemStats::GetUsedVirtualMemory()
|
||||
PROCESS_MEMORY_COUNTERS_EX pmc;
|
||||
GetProcessMemoryInfo(GetCurrentProcess(), (PROCESS_MEMORY_COUNTERS*)&pmc, sizeof(pmc));
|
||||
SIZE_T virtualMemUsedByMe = pmc.PrivateUsage;
|
||||
return virtualMemUsedByMe;
|
||||
return virtualMemUsedByMe/1024;
|
||||
#else
|
||||
#warning Memory consumption tracking is not available for your system.
|
||||
return 0;
|
||||
|
@@ -4,8 +4,8 @@
|
||||
namespace AutoVersion{
|
||||
|
||||
//Date Version Types
|
||||
static const char GDCore_DATE[] = "25";
|
||||
static const char GDCore_MONTH[] = "01";
|
||||
static const char GDCore_DATE[] = "3";
|
||||
static const char GDCore_MONTH[] = "04";
|
||||
static const char GDCore_YEAR[] = "2015";
|
||||
|
||||
//Software Status
|
||||
@@ -15,12 +15,12 @@ namespace AutoVersion{
|
||||
//Standard Version Type
|
||||
static const long GDCore_MAJOR = 3;
|
||||
static const long GDCore_MINOR = 6;
|
||||
static const long GDCore_BUILD = 78;
|
||||
static const long GDCore_BUILD = 79;
|
||||
static const long GDCore_REVISION = 0;
|
||||
|
||||
//Miscellaneous Version Types
|
||||
#define GDCore_RC_FILEVERSION 3,6,78,0
|
||||
#define GDCore_RC_FILEVERSION_STRING "3, 6, 78, 0\0"
|
||||
static const char GDCore_FULLVERSION_STRING[] = "3.6.78.0";
|
||||
#define GDCore_RC_FILEVERSION 3,6,79,0
|
||||
#define GDCore_RC_FILEVERSION_STRING "3, 6, 79, 0\0"
|
||||
static const char GDCore_FULLVERSION_STRING[] = "3.6.79.0";
|
||||
}
|
||||
#endif //GDCORE_VERSION_H
|
||||
|
@@ -705,7 +705,7 @@ EXCLUDE_PATTERNS =
|
||||
# wildcard * is used, a substring. Examples: ANamespace, AClass,
|
||||
# AClass::ANamespace, ANamespace::*Test
|
||||
|
||||
EXCLUDE_SYMBOLS =
|
||||
EXCLUDE_SYMBOLS = TiXml*
|
||||
|
||||
# The EXAMPLE_PATH tag can be used to specify one or more files or
|
||||
# directories that contain example code fragments that are included (see
|
||||
|
46
Core/tests/Serializer.cpp
Normal file
46
Core/tests/Serializer.cpp
Normal file
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
* GDevelop Core
|
||||
* Copyright 2008-2015 Florian Rival (Florian.Rival@gmail.com). All rights reserved.
|
||||
* This project is released under the MIT License.
|
||||
*/
|
||||
/**
|
||||
* @file Tests covering serialization to JSON.
|
||||
*/
|
||||
#include "catch.hpp"
|
||||
#include "GDCore/CommonTools.h"
|
||||
#include "GDCore/Tools/SystemStats.h"
|
||||
#include "GDCore/Tools/VersionWrapper.h"
|
||||
#include "GDCore/PlatformDefinition/Project.h"
|
||||
#include "GDCore/PlatformDefinition/Layout.h"
|
||||
#include "GDCore/PlatformDefinition/Variable.h"
|
||||
#include "GDCore/Events/EventsList.h"
|
||||
#include "GDCore/Events/Event.h"
|
||||
#include "GDCore/Events/Builtin/StandardEvent.h"
|
||||
#include "GDCore/Events/Serialization.h"
|
||||
#include "GDCore/Serialization/Serializer.h"
|
||||
|
||||
using namespace gd;
|
||||
|
||||
TEST_CASE( "Serializer", "[common]" ) {
|
||||
|
||||
SECTION("JSON basics") {
|
||||
std::string originalJSON = "{\"ok\": true,\"hello\": \"world\"}";
|
||||
SerializerElement element = Serializer::FromJSON(originalJSON);
|
||||
REQUIRE(element.GetChild("ok").GetValue().GetBool() == true);
|
||||
REQUIRE(element.GetChild("hello").GetValue().GetString() == "world");
|
||||
|
||||
std::string json = Serializer::ToJSON(element);
|
||||
REQUIRE(json == originalJSON);
|
||||
}
|
||||
|
||||
SECTION("Quotes and special characters") {
|
||||
std::string originalJSON = "{\"\\\"hello\\\"\": \" \\\"quote\\\" \",\"caret-prop\": 1,\"special-\\b\\f\\n\\r\\t\\\"\": \"\\b\\f\\n\\r\\t\"}";
|
||||
SerializerElement element = Serializer::FromJSON(originalJSON);
|
||||
REQUIRE(element.GetChild("caret-prop").GetValue().GetBool() == true);
|
||||
REQUIRE(element.GetChild("\"hello\"").GetValue().GetString() == " \"quote\" ");
|
||||
REQUIRE(element.GetChild("special-\b\f\n\r\t\"").GetValue().GetString() == "\b\f\n\r\t");
|
||||
|
||||
std::string json = Serializer::ToJSON(element);
|
||||
REQUIRE(json == originalJSON);
|
||||
}
|
||||
}
|
@@ -9,6 +9,13 @@ ENDIF()
|
||||
IF(NOT EMSCRIPTEN) #Don't build SFML binaries when compiling with emscripten (but keep include files!)
|
||||
ADD_SUBDIRECTORY(SFML)
|
||||
set(sfml_lib_dir ${CMAKE_BINARY_DIR}/ExtLibs/SFML/lib PARENT_SCOPE)
|
||||
set(sfml_LIBRARIES sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
IF(WIN32)
|
||||
set(sfml_LIBRARIES "${sfml_LIBRARIES}" ws2_32 user32 opengl32 glu32 psapi)
|
||||
ELSEIF(NOT APPLE)
|
||||
set(sfml_LIBRARIES "${sfml_LIBRARIES}" GLU GL)
|
||||
ENDIF()
|
||||
set(sfml_LIBRARIES "${sfml_LIBRARIES}" PARENT_SCOPE)
|
||||
ENDIF()
|
||||
set(sfml_include_dir ${CMAKE_CURRENT_SOURCE_DIR}/SFML/include PARENT_SCOPE)
|
||||
|
||||
@@ -22,6 +29,13 @@ IF(NOT NO_GUI)
|
||||
message( "Extracting wxWidgets in ExtLibs/wxWidgets... (can take a bit of time, be patient)" )
|
||||
execute_process(COMMAND 7za x -y wxwidgets.7z WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/ OUTPUT_QUIET)
|
||||
ENDIF()
|
||||
|
||||
set(wxwidgets_include_dir "${GD_base_dir}/ExtLibs/wxwidgets/include" "${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswu" PARENT_SCOPE)
|
||||
set(wxwidgets_lib_dir "${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll")
|
||||
set(wxwidgets_lib_dir "${wxwidgets_lib_dir}" PARENT_SCOPE)
|
||||
set(wxWidgets_LIBRARIES ${wxwidgets_lib_dir}/libwxmsw30u_xrc.a ${wxwidgets_lib_dir}/libwxmsw30u_stc.a ${wxwidgets_lib_dir}/libwxmsw30u_richtext.a ${wxwidgets_lib_dir}/libwxmsw30u_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30u_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30u_aui.a ${wxwidgets_lib_dir}/libwxmsw30u_adv.a ${wxwidgets_lib_dir}/libwxmsw30u_html.a ${wxwidgets_lib_dir}/libwxmsw30u_core.a ${wxwidgets_lib_dir}/libwxbase30u_xml.a ${wxwidgets_lib_dir}/libwxbase30u_net.a ${wxwidgets_lib_dir}/libwxexpat.a ${wxwidgets_lib_dir}/libwxbase30u.a ${wxwidgets_lib_dir}/libwxpng.a ${wxwidgets_lib_dir}/libwxjpeg.a ${wxwidgets_lib_dir}/libwxzlib.a ${wxwidgets_lib_dir}/libwxtiff.a)
|
||||
set(wxWidgets_LIBRARIES ${wxWidgets_LIBRARIES} ws2_32 user32 opengl32 glu32)
|
||||
set(wxWidgets_LIBRARIES ${wxWidgets_LIBRARIES} PARENT_SCOPE)
|
||||
ELSE()
|
||||
#Use wx-config on *nix:
|
||||
find_package(wxWidgets REQUIRED)
|
||||
|
@@ -3,158 +3,24 @@ cmake_policy(SET CMP0015 NEW)
|
||||
|
||||
project(AES)
|
||||
|
||||
#Sanity checks and options
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
message( "CMAKE_BUILD_TYPE is empty, assuming build type is Release" )
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
ENDIF()
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-s") ## Strip binary
|
||||
ENDIF()
|
||||
endif()
|
||||
|
||||
#Common directories:
|
||||
###
|
||||
set(GD_base_dir ${CMAKE_CURRENT_SOURCE_DIR}/../..)
|
||||
set(GDCORE_include_dir ${GD_base_dir}/Core)
|
||||
set(GDCORE_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_include_dir ${GD_base_dir}/GDCpp)
|
||||
set(GDCpp_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_Runtime_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Runtime)
|
||||
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
set(wxwidgets_include_dir ${GD_base_dir}/ExtLibs/wxwidgets/include)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswud)
|
||||
ELSE()
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswu)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_lib_dir ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll)
|
||||
ENDIF(WIN32)
|
||||
|
||||
#Dependencies on external libraries:
|
||||
###
|
||||
include_directories(${sfml_include_dir})
|
||||
include_directories(${GDCORE_include_dir})
|
||||
include_directories(${GDCpp_include_dir})
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
include_directories(${wxwidgets_include_dir})
|
||||
ELSE()
|
||||
find_package(wxWidgets COMPONENTS core base adv net ribbon stc aui propgrid richtext html xrc REQUIRED)
|
||||
include( "${wxWidgets_USE_FILE}" )
|
||||
include_directories(${GTK_INCLUDE_DIRS})
|
||||
link_directories(${GTK_LIBRARY_DIRS})
|
||||
ENDIF(WIN32)
|
||||
IF(NOT TARGET GDCore) #Ensure that the build will work even when GDCore is not in the target list.
|
||||
link_directories(${GDCORE_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp) #Ensure that the build will work even when GDC++ is not in the target list.
|
||||
link_directories(${GDCpp_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp_Runtime)
|
||||
add_library(GDCpp_Runtime SHARED IMPORTED)
|
||||
IF(WIN32)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/GDCpp.dll)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.dll.a)
|
||||
ELSE()
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/libGDCpp.so)
|
||||
#set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.so.a)
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gd_add_extension_includes()
|
||||
|
||||
#Defines
|
||||
###
|
||||
set(AES_extra_definitions "${AES_extra_definitions} GD_IDE_ONLY=1;")
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
add_definitions( -DDEBUG )
|
||||
IF(WIN32)
|
||||
add_definitions( __WXDEBUG__ )
|
||||
ENDIF(WIN32)
|
||||
ELSEIF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
add_definitions( -DRELEASE )
|
||||
ELSE()
|
||||
add_definitions( -DDEV )
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
IF(WIN32)
|
||||
add_definitions( -DWINDOWS )
|
||||
add_definitions( "-DGD_CORE_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_EXTENSION_API=__declspec(dllexport)" )
|
||||
|
||||
add_definitions( -D__GNUWIN32__ )
|
||||
add_definitions( -D__WXMSW__ )
|
||||
add_definitions( -DwxUSE_UNICODE=1 )
|
||||
add_definitions( -DWXUSINGDLL )
|
||||
ELSE()
|
||||
IF(APPLE)
|
||||
add_definitions( -DMACOS )
|
||||
ELSE()
|
||||
add_definitions( -DLINUX )
|
||||
ENDIF()
|
||||
add_definitions( -DGD_API= )
|
||||
add_definitions( -DGD_CORE_API= )
|
||||
add_definitions( -DGD_EXTENSION_API= )
|
||||
add_definitions(${GTK_CFLAGS_OTHER})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_add_extension_definitions(AES)
|
||||
|
||||
#The targets
|
||||
###
|
||||
include_directories(.)
|
||||
file(GLOB_RECURSE source_files *)
|
||||
|
||||
add_library(AES SHARED ${source_files})
|
||||
add_library(AES_Runtime SHARED ${source_files})
|
||||
set_target_properties(AES PROPERTIES COMPILE_DEFINITIONS "${AES_extra_definitions}")
|
||||
set_target_properties(AES_Runtime PROPERTIES COMPILE_DEFINITIONS "${AES_Runtime_extra_definitions}")
|
||||
set_target_properties(AES PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(AES PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(AES PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(AES_Runtime PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(AES_Runtime PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(AES_Runtime PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(AES_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "AES")
|
||||
set_target_properties(AES_Runtime PROPERTIES LIBRARY_OUTPUT_NAME "AES")
|
||||
set_target_properties(AES_Runtime PROPERTIES ARCHIVE_OUTPUT_NAME "AES")
|
||||
set_target_properties(AES PROPERTIES PREFIX "")
|
||||
set_target_properties(AES_Runtime PROPERTIES PREFIX "")
|
||||
IF(WIN32)
|
||||
set_target_properties(AES PROPERTIES SUFFIX ".xgdwe")
|
||||
set_target_properties(AES_Runtime PROPERTIES SUFFIX ".xgdw")
|
||||
ELSE()
|
||||
set_target_properties(AES PROPERTIES SUFFIX ".xgde")
|
||||
set_target_properties(AES_Runtime PROPERTIES SUFFIX ".xgd")
|
||||
ENDIF(WIN32)
|
||||
set_target_properties(AES_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "AES")
|
||||
gd_add_extension_target(AES "${source_files}")
|
||||
gdcpp_add_runtime_extension_target(AES_Runtime "${source_files}")
|
||||
|
||||
#Linker files for the IDE extension
|
||||
###
|
||||
target_link_libraries(AES GDCore)
|
||||
target_link_libraries(AES GDCpp)
|
||||
IF(WIN32)
|
||||
target_link_libraries(AES sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
target_link_libraries(AES ${wxwidgets_lib_dir}/libwxmsw30ud_xrc.a ${wxwidgets_lib_dir}/libwxmsw30ud_stc.a ${wxwidgets_lib_dir}/libwxmsw30ud_richtext.a ${wxwidgets_lib_dir}/libwxmsw30ud_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30ud_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30ud_aui.a ${wxwidgets_lib_dir}/libwxmsw30ud_adv.a ${wxwidgets_lib_dir}/libwxmsw30ud_html.a ${wxwidgets_lib_dir}/libwxmsw30ud_core.a ${wxwidgets_lib_dir}/libwxbase30ud_xml.a ${wxwidgets_lib_dir}/libwxbase30ud_net.a ${wxwidgets_lib_dir}/libwxexpatd.a ${wxwidgets_lib_dir}/libwxbase30ud.a ${wxwidgets_lib_dir}/libwxpngd.a ${wxwidgets_lib_dir}/libwxjpegd.a ${wxwidgets_lib_dir}/libwxzlibd.a ${wxwidgets_lib_dir}/libwxtiffd.a)
|
||||
ELSE()
|
||||
target_link_libraries(AES ${wxwidgets_lib_dir}/libwxmsw30u_xrc.a ${wxwidgets_lib_dir}/libwxmsw30u_stc.a ${wxwidgets_lib_dir}/libwxmsw30u_richtext.a ${wxwidgets_lib_dir}/libwxmsw30u_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30u_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30u_aui.a ${wxwidgets_lib_dir}/libwxmsw30u_adv.a ${wxwidgets_lib_dir}/libwxmsw30u_html.a ${wxwidgets_lib_dir}/libwxmsw30u_core.a ${wxwidgets_lib_dir}/libwxbase30u_xml.a ${wxwidgets_lib_dir}/libwxbase30u_net.a ${wxwidgets_lib_dir}/libwxexpat.a ${wxwidgets_lib_dir}/libwxbase30u.a ${wxwidgets_lib_dir}/libwxpng.a ${wxwidgets_lib_dir}/libwxjpeg.a ${wxwidgets_lib_dir}/libwxzlib.a ${wxwidgets_lib_dir}/libwxtiff.a)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
target_link_libraries(AES ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(AES sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(AES ${wxWidgets_LIBRARIES})
|
||||
target_link_libraries(AES ${GTK_LIBRARIES})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_extension_link_libraries(AES)
|
||||
|
||||
#Linker files for the GD C++ Runtime extension
|
||||
###
|
||||
target_link_libraries(AES_Runtime GDCpp_Runtime)
|
||||
IF(WIN32)
|
||||
target_link_libraries(AES_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(AES_Runtime ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(AES_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
ENDIF(WIN32)
|
||||
gdcpp_runtime_extension_link_libraries(AES_Runtime)
|
||||
|
@@ -2,158 +2,24 @@ cmake_minimum_required(VERSION 2.6)
|
||||
cmake_policy(SET CMP0015 NEW)
|
||||
|
||||
project(AdvancedXML)
|
||||
|
||||
#Sanity checks and options
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
message( "CMAKE_BUILD_TYPE is empty, assuming build type is Release" )
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
ENDIF()
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-s") ## Strip binary
|
||||
ENDIF()
|
||||
endif()
|
||||
|
||||
#Common directories:
|
||||
###
|
||||
set(GD_base_dir ${CMAKE_CURRENT_SOURCE_DIR}/../..)
|
||||
set(GDCORE_include_dir ${GD_base_dir}/Core)
|
||||
set(GDCORE_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_include_dir ${GD_base_dir}/GDCpp)
|
||||
set(GDCpp_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_Runtime_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Runtime)
|
||||
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
set(wxwidgets_include_dir ${GD_base_dir}/ExtLibs/wxwidgets/include)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswud)
|
||||
ELSE()
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswu)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_lib_dir ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll)
|
||||
ENDIF(WIN32)
|
||||
|
||||
|
||||
include_directories(${sfml_include_dir})
|
||||
include_directories(${GDCORE_include_dir})
|
||||
include_directories(${GDCpp_include_dir})
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
include_directories(${wxwidgets_include_dir})
|
||||
ELSE()
|
||||
find_package(wxWidgets COMPONENTS core base adv net ribbon stc aui propgrid richtext html xrc REQUIRED)
|
||||
include( "${wxWidgets_USE_FILE}" )
|
||||
include_directories(${GTK_INCLUDE_DIRS})
|
||||
link_directories(${GTK_LIBRARY_DIRS})
|
||||
ENDIF(WIN32)
|
||||
IF(NOT TARGET GDCore) #Ensure that the build will work even when GDCore is not in the target list.
|
||||
link_directories(${GDCORE_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp) #Ensure that the build will work even when GDC++ is not in the target list.
|
||||
link_directories(${GDCpp_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp_Runtime)
|
||||
add_library(GDCpp_Runtime SHARED IMPORTED)
|
||||
IF(WIN32)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/GDCpp.dll)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.dll.a)
|
||||
ELSE()
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/libGDCpp.so)
|
||||
#set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.so.a)
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gd_add_extension_includes()
|
||||
|
||||
#Defines
|
||||
###
|
||||
set(AdvancedXML_extra_definitions "${AdvancedXML_extra_definitions} GD_IDE_ONLY=1;")
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
add_definitions( -DDEBUG )
|
||||
IF(WIN32)
|
||||
add_definitions( __WXDEBUG__ )
|
||||
ENDIF(WIN32)
|
||||
ELSEIF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
add_definitions( -DRELEASE )
|
||||
ELSE()
|
||||
add_definitions( -DDEV )
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
IF(WIN32)
|
||||
add_definitions( -DWINDOWS )
|
||||
add_definitions( "-DGD_CORE_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_EXTENSION_API=__declspec(dllexport)" )
|
||||
|
||||
add_definitions( -D__GNUWIN32__ )
|
||||
add_definitions( -D__WXMSW__ )
|
||||
add_definitions( -DwxUSE_UNICODE=1 )
|
||||
add_definitions( -DWXUSINGDLL )
|
||||
ELSE()
|
||||
IF(APPLE)
|
||||
add_definitions( -DMACOS )
|
||||
ELSE()
|
||||
add_definitions( -DLINUX )
|
||||
ENDIF()
|
||||
add_definitions( -DGD_API= )
|
||||
add_definitions( -DGD_CORE_API= )
|
||||
add_definitions( -DGD_EXTENSION_API= )
|
||||
add_definitions(${GTK_CFLAGS_OTHER})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_add_extension_definitions(AdvancedXML)
|
||||
|
||||
#The targets
|
||||
###
|
||||
include_directories(src)
|
||||
file(GLOB_RECURSE source_files src/*)
|
||||
|
||||
add_library(AdvancedXML SHARED ${source_files})
|
||||
add_library(AdvancedXML_Runtime SHARED ${source_files})
|
||||
set_target_properties(AdvancedXML PROPERTIES COMPILE_DEFINITIONS "${AdvancedXML_extra_definitions}")
|
||||
set_target_properties(AdvancedXML_Runtime PROPERTIES COMPILE_DEFINITIONS "${AdvancedXML_Runtime_extra_definitions}")
|
||||
set_target_properties(AdvancedXML PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(AdvancedXML PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(AdvancedXML PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(AdvancedXML_Runtime PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(AdvancedXML_Runtime PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(AdvancedXML_Runtime PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(AdvancedXML_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "AdvancedXML")
|
||||
set_target_properties(AdvancedXML_Runtime PROPERTIES LIBRARY_OUTPUT_NAME "AdvancedXML")
|
||||
set_target_properties(AdvancedXML_Runtime PROPERTIES ARCHIVE_OUTPUT_NAME "AdvancedXML")
|
||||
set_target_properties(AdvancedXML PROPERTIES PREFIX "")
|
||||
set_target_properties(AdvancedXML_Runtime PROPERTIES PREFIX "")
|
||||
IF(WIN32)
|
||||
set_target_properties(AdvancedXML PROPERTIES SUFFIX ".xgdwe")
|
||||
set_target_properties(AdvancedXML_Runtime PROPERTIES SUFFIX ".xgdw")
|
||||
ELSE()
|
||||
set_target_properties(AdvancedXML PROPERTIES SUFFIX ".xgde")
|
||||
set_target_properties(AdvancedXML_Runtime PROPERTIES SUFFIX ".xgd")
|
||||
ENDIF(WIN32)
|
||||
set_target_properties(AdvancedXML_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "AdvancedXML")
|
||||
gd_add_extension_target(AdvancedXML "${source_files}")
|
||||
gdcpp_add_runtime_extension_target(AdvancedXML_Runtime "${source_files}")
|
||||
|
||||
#Linker files for the IDE extension
|
||||
###
|
||||
target_link_libraries(AdvancedXML GDCore)
|
||||
target_link_libraries(AdvancedXML GDCpp)
|
||||
IF(WIN32)
|
||||
target_link_libraries(AdvancedXML sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
target_link_libraries(AdvancedXML ${wxwidgets_lib_dir}/libwxmsw30ud_xrc.a ${wxwidgets_lib_dir}/libwxmsw30ud_stc.a ${wxwidgets_lib_dir}/libwxmsw30ud_richtext.a ${wxwidgets_lib_dir}/libwxmsw30ud_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30ud_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30ud_aui.a ${wxwidgets_lib_dir}/libwxmsw30ud_adv.a ${wxwidgets_lib_dir}/libwxmsw30ud_html.a ${wxwidgets_lib_dir}/libwxmsw30ud_core.a ${wxwidgets_lib_dir}/libwxbase30ud_xml.a ${wxwidgets_lib_dir}/libwxbase30ud_net.a ${wxwidgets_lib_dir}/libwxexpatd.a ${wxwidgets_lib_dir}/libwxbase30ud.a ${wxwidgets_lib_dir}/libwxpngd.a ${wxwidgets_lib_dir}/libwxjpegd.a ${wxwidgets_lib_dir}/libwxzlibd.a ${wxwidgets_lib_dir}/libwxtiffd.a)
|
||||
ELSE()
|
||||
target_link_libraries(AdvancedXML ${wxwidgets_lib_dir}/libwxmsw30u_xrc.a ${wxwidgets_lib_dir}/libwxmsw30u_stc.a ${wxwidgets_lib_dir}/libwxmsw30u_richtext.a ${wxwidgets_lib_dir}/libwxmsw30u_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30u_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30u_aui.a ${wxwidgets_lib_dir}/libwxmsw30u_adv.a ${wxwidgets_lib_dir}/libwxmsw30u_html.a ${wxwidgets_lib_dir}/libwxmsw30u_core.a ${wxwidgets_lib_dir}/libwxbase30u_xml.a ${wxwidgets_lib_dir}/libwxbase30u_net.a ${wxwidgets_lib_dir}/libwxexpat.a ${wxwidgets_lib_dir}/libwxbase30u.a ${wxwidgets_lib_dir}/libwxpng.a ${wxwidgets_lib_dir}/libwxjpeg.a ${wxwidgets_lib_dir}/libwxzlib.a ${wxwidgets_lib_dir}/libwxtiff.a)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
target_link_libraries(AdvancedXML ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(AdvancedXML sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(AdvancedXML ${wxWidgets_LIBRARIES})
|
||||
target_link_libraries(AdvancedXML ${GTK_LIBRARIES})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_extension_link_libraries(AdvancedXML)
|
||||
|
||||
#Linker files for the GD C++ Runtime extension
|
||||
###
|
||||
target_link_libraries(AdvancedXML_Runtime GDCpp_Runtime)
|
||||
IF(WIN32)
|
||||
target_link_libraries(AdvancedXML_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(AdvancedXML_Runtime ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(AdvancedXML_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
ENDIF(WIN32)
|
||||
gdcpp_runtime_extension_link_libraries(AdvancedXML_Runtime)
|
||||
|
@@ -2,158 +2,25 @@ cmake_minimum_required(VERSION 2.6)
|
||||
cmake_policy(SET CMP0015 NEW)
|
||||
|
||||
project(Box3DObject)
|
||||
|
||||
#Sanity checks and options
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
message( "CMAKE_BUILD_TYPE is empty, assuming build type is Release" )
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
ENDIF()
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-s") ## Strip binary
|
||||
ENDIF()
|
||||
endif()
|
||||
|
||||
#Common directories:
|
||||
###
|
||||
set(GD_base_dir ${CMAKE_CURRENT_SOURCE_DIR}/../..)
|
||||
set(GDCORE_include_dir ${GD_base_dir}/Core)
|
||||
set(GDCORE_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_include_dir ${GD_base_dir}/GDCpp)
|
||||
set(GDCpp_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_Runtime_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Runtime)
|
||||
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
set(wxwidgets_include_dir ${GD_base_dir}/ExtLibs/wxwidgets/include)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswud)
|
||||
ELSE()
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswu)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_lib_dir ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll)
|
||||
ENDIF(WIN32)
|
||||
|
||||
|
||||
include_directories(${sfml_include_dir})
|
||||
include_directories(${GDCORE_include_dir})
|
||||
include_directories(${GDCpp_include_dir})
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
include_directories(${wxwidgets_include_dir})
|
||||
ELSE()
|
||||
find_package(wxWidgets COMPONENTS core base adv net ribbon stc aui propgrid richtext html xrc REQUIRED)
|
||||
include( "${wxWidgets_USE_FILE}" )
|
||||
include_directories(${GTK_INCLUDE_DIRS})
|
||||
link_directories(${GTK_LIBRARY_DIRS})
|
||||
ENDIF(WIN32)
|
||||
IF(NOT TARGET GDCore) #Ensure that the build will work even when GDCore is not in the target list.
|
||||
link_directories(${GDCORE_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp) #Ensure that the build will work even when GDC++ is not in the target list.
|
||||
link_directories(${GDCpp_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp_Runtime)
|
||||
add_library(GDCpp_Runtime SHARED IMPORTED)
|
||||
IF(WIN32)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/GDCpp.dll)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.dll.a)
|
||||
ELSE()
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/libGDCpp.so)
|
||||
#set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.so.a)
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gd_add_extension_includes()
|
||||
|
||||
#Defines
|
||||
###
|
||||
set(Box3DObject_extra_definitions "${Box3DObject_extra_definitions} GD_IDE_ONLY=1;")
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
add_definitions( -DDEBUG )
|
||||
IF(WIN32)
|
||||
add_definitions( __WXDEBUG__ )
|
||||
ENDIF(WIN32)
|
||||
ELSEIF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
add_definitions( -DRELEASE )
|
||||
ELSE()
|
||||
add_definitions( -DDEV )
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
IF(WIN32)
|
||||
add_definitions( -DWINDOWS )
|
||||
add_definitions( "-DGD_CORE_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_EXTENSION_API=__declspec(dllexport)" )
|
||||
|
||||
add_definitions( -D__GNUWIN32__ )
|
||||
add_definitions( -D__WXMSW__ )
|
||||
add_definitions( -DwxUSE_UNICODE=1 )
|
||||
add_definitions( -DWXUSINGDLL )
|
||||
ELSE()
|
||||
IF(APPLE)
|
||||
add_definitions( -DMACOS )
|
||||
ELSE()
|
||||
add_definitions( -DLINUX )
|
||||
ENDIF()
|
||||
add_definitions( -DGD_API= )
|
||||
add_definitions( -DGD_CORE_API= )
|
||||
add_definitions( -DGD_EXTENSION_API= )
|
||||
add_definitions(${GTK_CFLAGS_OTHER})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_add_extension_definitions(Box3DObject)
|
||||
|
||||
#The targets
|
||||
###
|
||||
include_directories(.)
|
||||
file(GLOB_RECURSE source_files *)
|
||||
|
||||
add_library(Box3DObject SHARED ${source_files})
|
||||
add_library(Box3DObject_Runtime SHARED ${source_files})
|
||||
set_target_properties(Box3DObject PROPERTIES COMPILE_DEFINITIONS "${Box3DObject_extra_definitions}")
|
||||
set_target_properties(Box3DObject_Runtime PROPERTIES COMPILE_DEFINITIONS "${Box3DObject_Runtime_extra_definitions}")
|
||||
set_target_properties(Box3DObject PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(Box3DObject PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(Box3DObject PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(Box3DObject_Runtime PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(Box3DObject_Runtime PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(Box3DObject_Runtime PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(Box3DObject_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "Box3DObject")
|
||||
set_target_properties(Box3DObject_Runtime PROPERTIES LIBRARY_OUTPUT_NAME "Box3DObject")
|
||||
set_target_properties(Box3DObject_Runtime PROPERTIES ARCHIVE_OUTPUT_NAME "Box3DObject")
|
||||
set_target_properties(Box3DObject PROPERTIES PREFIX "")
|
||||
set_target_properties(Box3DObject_Runtime PROPERTIES PREFIX "")
|
||||
IF(WIN32)
|
||||
set_target_properties(Box3DObject PROPERTIES SUFFIX ".xgdwe")
|
||||
set_target_properties(Box3DObject_Runtime PROPERTIES SUFFIX ".xgdw")
|
||||
ELSE()
|
||||
set_target_properties(Box3DObject PROPERTIES SUFFIX ".xgde")
|
||||
set_target_properties(Box3DObject_Runtime PROPERTIES SUFFIX ".xgd")
|
||||
ENDIF(WIN32)
|
||||
set_target_properties(Box3DObject_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "Box3DObject")
|
||||
|
||||
gd_add_extension_target(Box3DObject "${source_files}")
|
||||
gdcpp_add_runtime_extension_target(Box3DObject_Runtime "${source_files}")
|
||||
|
||||
#Linker files for the IDE extension
|
||||
###
|
||||
target_link_libraries(Box3DObject GDCore)
|
||||
target_link_libraries(Box3DObject GDCpp)
|
||||
IF(WIN32)
|
||||
target_link_libraries(Box3DObject sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
target_link_libraries(Box3DObject ${wxwidgets_lib_dir}/libwxmsw30ud_xrc.a ${wxwidgets_lib_dir}/libwxmsw30ud_stc.a ${wxwidgets_lib_dir}/libwxmsw30ud_richtext.a ${wxwidgets_lib_dir}/libwxmsw30ud_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30ud_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30ud_aui.a ${wxwidgets_lib_dir}/libwxmsw30ud_adv.a ${wxwidgets_lib_dir}/libwxmsw30ud_html.a ${wxwidgets_lib_dir}/libwxmsw30ud_core.a ${wxwidgets_lib_dir}/libwxbase30ud_xml.a ${wxwidgets_lib_dir}/libwxbase30ud_net.a ${wxwidgets_lib_dir}/libwxexpatd.a ${wxwidgets_lib_dir}/libwxbase30ud.a ${wxwidgets_lib_dir}/libwxpngd.a ${wxwidgets_lib_dir}/libwxjpegd.a ${wxwidgets_lib_dir}/libwxzlibd.a ${wxwidgets_lib_dir}/libwxtiffd.a)
|
||||
ELSE()
|
||||
target_link_libraries(Box3DObject ${wxwidgets_lib_dir}/libwxmsw30u_xrc.a ${wxwidgets_lib_dir}/libwxmsw30u_stc.a ${wxwidgets_lib_dir}/libwxmsw30u_richtext.a ${wxwidgets_lib_dir}/libwxmsw30u_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30u_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30u_aui.a ${wxwidgets_lib_dir}/libwxmsw30u_adv.a ${wxwidgets_lib_dir}/libwxmsw30u_html.a ${wxwidgets_lib_dir}/libwxmsw30u_core.a ${wxwidgets_lib_dir}/libwxbase30u_xml.a ${wxwidgets_lib_dir}/libwxbase30u_net.a ${wxwidgets_lib_dir}/libwxexpat.a ${wxwidgets_lib_dir}/libwxbase30u.a ${wxwidgets_lib_dir}/libwxpng.a ${wxwidgets_lib_dir}/libwxjpeg.a ${wxwidgets_lib_dir}/libwxzlib.a ${wxwidgets_lib_dir}/libwxtiff.a)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
target_link_libraries(Box3DObject ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(Box3DObject sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(Box3DObject ${wxWidgets_LIBRARIES})
|
||||
target_link_libraries(Box3DObject ${GTK_LIBRARIES})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_extension_link_libraries(Box3DObject)
|
||||
|
||||
#Linker files for the GD C++ Runtime extension
|
||||
###
|
||||
target_link_libraries(Box3DObject_Runtime GDCpp_Runtime)
|
||||
IF(WIN32)
|
||||
target_link_libraries(Box3DObject_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(Box3DObject_Runtime ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(Box3DObject_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
ENDIF(WIN32)
|
||||
gdcpp_runtime_extension_link_libraries(Box3DObject_Runtime)
|
||||
|
@@ -5,13 +5,9 @@ cmake_minimum_required(VERSION 2.6)
|
||||
cmake_policy(SET CMP0011 NEW)
|
||||
|
||||
project(GD-Extensions)
|
||||
include(CMakeUtils.txt) #Functions to factor common tasks done in CMakeLists.txt of extensions
|
||||
|
||||
#Sanity checks
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
message( "CMAKE_BUILD_TYPE is empty, assuming build type is Release" )
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
ENDIF()
|
||||
|
||||
#Add all the CMakeLists:
|
||||
IF (NOT EMSCRIPTEN) #Only add some extensions when compiling with emscripten.
|
||||
ADD_SUBDIRECTORY(AdvancedXML)
|
||||
ADD_SUBDIRECTORY(AES)
|
||||
|
155
Extensions/CMakeUtils.txt
Normal file
155
Extensions/CMakeUtils.txt
Normal file
@@ -0,0 +1,155 @@
|
||||
# This file contains functions that are used to build
|
||||
# the CMakeLists.txt for an extension:
|
||||
# Most of the time, an extension CMakeLists.txt should
|
||||
# consist in a few lines containing calls to these functions.
|
||||
|
||||
macro(gd_add_extension_includes)
|
||||
include_directories(${sfml_include_dir})
|
||||
include_directories(${GDCORE_include_dir})
|
||||
include_directories(${GDCpp_include_dir})
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
include_directories(${wxwidgets_include_dir})
|
||||
ELSEIF (NOT EMSCRIPTEN AND NOT NO_GUI)
|
||||
find_package(wxWidgets COMPONENTS core base adv net ribbon stc aui propgrid richtext html xrc REQUIRED)
|
||||
include( "${wxWidgets_USE_FILE}" )
|
||||
include_directories(${GTK_INCLUDE_DIRS})
|
||||
link_directories(${GTK_LIBRARY_DIRS})
|
||||
ENDIF(WIN32)
|
||||
endmacro()
|
||||
|
||||
#Add common defines for a target that will be a GD extension
|
||||
function(gd_add_extension_definitions target_name)
|
||||
|
||||
#Define used in GD to check the build type
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
add_definitions( -DDEBUG )
|
||||
ELSEIF (CMAKE_BUILD_TYPE} MATCHES "Release")
|
||||
add_definitions( -DRELEASE )
|
||||
ELSE()
|
||||
add_definitions( -DDEV )
|
||||
ENDIF()
|
||||
|
||||
set(${target_name}_extra_definitions "${${target_name}_extra_definitions} GD_IDE_ONLY=1;" PARENT_SCOPE)
|
||||
|
||||
IF (NO_GUI) #Are we compiling without any GUI feature?
|
||||
add_definitions( -DGD_NO_WX_GUI )
|
||||
ENDIF()
|
||||
|
||||
#Defne used in GD to identify the environment
|
||||
IF (EMSCRIPTEN)
|
||||
add_definitions( -DEMSCRIPTEN )
|
||||
ELSEIF(WIN32)
|
||||
add_definitions( -DWINDOWS )
|
||||
ELSEIF(APPLE)
|
||||
add_definitions( -DMACOS )
|
||||
ELSE()
|
||||
add_definitions( -DLINUX )
|
||||
ENDIF()
|
||||
|
||||
IF(WIN32) #Windows specific defines
|
||||
add_definitions( "-DGD_CORE_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_EXTENSION_API=__declspec(dllexport)" )
|
||||
|
||||
add_definitions( -D__GNUWIN32__ ) #wxWidgets Windows specific defines
|
||||
add_definitions( -D__WXMSW__ )
|
||||
add_definitions( -DwxUSE_UNICODE=1 )
|
||||
add_definitions( -DWXUSINGDLL )
|
||||
ELSE()
|
||||
|
||||
add_definitions( -DGD_API= )
|
||||
add_definitions( -DGD_CORE_API= )
|
||||
add_definitions( -DGD_EXTENSION_API= )
|
||||
add_definitions(${GTK_CFLAGS_OTHER})
|
||||
ENDIF(WIN32)
|
||||
endfunction()
|
||||
|
||||
#Add a GD extension target, that will produce the final library file.
|
||||
function(gd_add_extension_target target_name source_files)
|
||||
IF(target_name STREQUAL "")
|
||||
MESSAGE(ERROR "You called gd_add_extension_target without specifying a target name")
|
||||
ENDIF()
|
||||
|
||||
add_library(${target_name} SHARED ${source_files})
|
||||
set_target_properties(${target_name} PROPERTIES PREFIX "")
|
||||
set_target_properties(${target_name} PROPERTIES COMPILE_DEFINITIONS "${${target_name}_extra_definitions}")
|
||||
set_target_properties(${target_name} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(${target_name} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(${target_name} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
IF(WIN32) #GD extensions have special suffix in their filenames.
|
||||
set_target_properties(${target_name} PROPERTIES SUFFIX ".xgdwe")
|
||||
ELSEIF(EMSCRIPTEN)
|
||||
set_target_properties(${target_name} PROPERTIES SUFFIX ".bc")
|
||||
ELSE()
|
||||
set_target_properties(${target_name} PROPERTIES SUFFIX ".xgde")
|
||||
ENDIF()
|
||||
endfunction()
|
||||
|
||||
#Add a GDC++ runtime extension target, that will produce the final library file for runtime.
|
||||
function(gdcpp_add_runtime_extension_target gdcpp_runtime_target_name source_files)
|
||||
IF(NOT gdcpp_runtime_target_name MATCHES "_Runtime$")
|
||||
MESSAGE(ERROR "You called gdcpp_add_runtime_extension_target with a target name not finishing with '_Runtime'")
|
||||
ENDIF()
|
||||
string(REGEX REPLACE "_Runtime" "" target_name ${gdcpp_runtime_target_name})
|
||||
|
||||
IF(NOT EMSCRIPTEN) #Also add a GDC++ extension target
|
||||
add_library(${gdcpp_runtime_target_name} SHARED ${source_files})
|
||||
set_target_properties(${gdcpp_runtime_target_name} PROPERTIES COMPILE_DEFINITIONS "${${gdcpp_runtime_target_name}_extra_definitions}")
|
||||
set_target_properties(${gdcpp_runtime_target_name} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(${gdcpp_runtime_target_name} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(${gdcpp_runtime_target_name} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(${gdcpp_runtime_target_name} PROPERTIES RUNTIME_OUTPUT_NAME "${target_name}")
|
||||
set_target_properties(${gdcpp_runtime_target_name} PROPERTIES LIBRARY_OUTPUT_NAME "${target_name}")
|
||||
set_target_properties(${gdcpp_runtime_target_name} PROPERTIES ARCHIVE_OUTPUT_NAME "${target_name}")
|
||||
set_target_properties(${gdcpp_runtime_target_name} PROPERTIES PREFIX "")
|
||||
IF(WIN32) #GD extensions have special suffix in their filenames.
|
||||
set_target_properties(${gdcpp_runtime_target_name} PROPERTIES SUFFIX ".xgdw")
|
||||
ELSE()
|
||||
set_target_properties(${gdcpp_runtime_target_name} PROPERTIES SUFFIX ".xgd")
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
endfunction()
|
||||
|
||||
#Link default libraries with a target that is a GD extension
|
||||
function(gd_extension_link_libraries target_name)
|
||||
IF(EMSCRIPTEN)
|
||||
#Nothing.
|
||||
ELSE()
|
||||
target_link_libraries(${target_name} GDCore)
|
||||
target_link_libraries(${target_name} GDCpp)
|
||||
target_link_libraries(${target_name} ${sfml_LIBRARIES})
|
||||
target_link_libraries(${target_name} ${wxWidgets_LIBRARIES}) #Add wxWidgets libraries if needed.
|
||||
target_link_libraries(${target_name} ${GTK_LIBRARIES}) #Add GTK libraries if needed (Linux only).
|
||||
ENDIF()
|
||||
endfunction()
|
||||
|
||||
#Link default libraries with a target that is a GDC++ Runtime extension
|
||||
function(gdcpp_runtime_extension_link_libraries target_name)
|
||||
IF(EMSCRIPTEN)
|
||||
#Nothing.
|
||||
ELSE()
|
||||
target_link_libraries(${target_name} GDCpp_Runtime)
|
||||
target_link_libraries(${target_name} ${sfml_LIBRARIES})
|
||||
IF(WIN32)
|
||||
target_link_libraries(${target_name} ws2_32 user32 opengl32 glu32)
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
endfunction()
|
||||
|
||||
|
||||
#Create a target for a test executable of a GDC++ Runtime extension
|
||||
function(gdcpp_add_tests_extension_target gdcpp_tests_target_name test_source_files)
|
||||
IF(NOT gdcpp_tests_target_name MATCHES "_tests$")
|
||||
MESSAGE(ERROR "You called gdcpp_add_tests_extension_target with a target name not finishing with '_tests'")
|
||||
ENDIF()
|
||||
string(REGEX REPLACE "_tests" "" target_name ${gdcpp_tests_target_name})
|
||||
|
||||
if(BUILD_TESTS)
|
||||
add_executable(${gdcpp_tests_target_name} ${test_source_files})
|
||||
target_link_libraries(${gdcpp_tests_target_name} GDCpp_Runtime)
|
||||
target_link_libraries(${gdcpp_tests_target_name} ${target_name})
|
||||
target_link_libraries(${gdcpp_tests_target_name} ${sfml_LIBRARIES})
|
||||
|
||||
set_target_properties(${gdcpp_tests_target_name} PROPERTIES BUILD_WITH_INSTALL_RPATH FALSE) #Allow finding dependencies directly from build path on Mac OS X.
|
||||
endif()
|
||||
endfunction()
|
@@ -2,102 +2,11 @@ cmake_minimum_required(VERSION 2.6)
|
||||
cmake_policy(SET CMP0015 NEW)
|
||||
|
||||
project(CommonDialogs)
|
||||
|
||||
#Sanity checks and options
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
message( "CMAKE_BUILD_TYPE is empty, assuming build type is Release" )
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
ENDIF()
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-s") ## Strip binary
|
||||
ENDIF()
|
||||
endif()
|
||||
|
||||
#Common directories:
|
||||
###
|
||||
set(GD_base_dir ${CMAKE_CURRENT_SOURCE_DIR}/../..)
|
||||
set(GDCORE_include_dir ${GD_base_dir}/Core)
|
||||
set(GDCORE_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_include_dir ${GD_base_dir}/GDCpp)
|
||||
set(GDCpp_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_Runtime_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Runtime)
|
||||
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
set(wxwidgets_include_dir ${GD_base_dir}/ExtLibs/wxwidgets/include)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswud)
|
||||
ELSE()
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswu)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_lib_dir ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll)
|
||||
ENDIF(WIN32)
|
||||
|
||||
|
||||
include_directories(${sfml_include_dir})
|
||||
include_directories(${GDCORE_include_dir})
|
||||
include_directories(${GDCpp_include_dir})
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
include_directories(${wxwidgets_include_dir})
|
||||
ELSE()
|
||||
find_package(wxWidgets COMPONENTS core base adv net ribbon stc aui propgrid richtext html xrc REQUIRED)
|
||||
include( "${wxWidgets_USE_FILE}" )
|
||||
include_directories(${GTK_INCLUDE_DIRS})
|
||||
link_directories(${GTK_LIBRARY_DIRS})
|
||||
ENDIF(WIN32)
|
||||
IF(NOT TARGET GDCore) #Ensure that the build will work even when GDCore is not in the target list.
|
||||
link_directories(${GDCORE_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp) #Ensure that the build will work even when GDC++ is not in the target list.
|
||||
link_directories(${GDCpp_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp_Runtime)
|
||||
add_library(GDCpp_Runtime SHARED IMPORTED)
|
||||
IF(WIN32)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/GDCpp.dll)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.dll.a)
|
||||
ELSE()
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/libGDCpp.so)
|
||||
#set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.so.a)
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gd_add_extension_includes()
|
||||
|
||||
#Defines
|
||||
###
|
||||
set(CommonDialogs_extra_definitions "${CommonDialogs_extra_definitions} GD_IDE_ONLY=1;")
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
add_definitions( -DDEBUG )
|
||||
IF(WIN32)
|
||||
add_definitions( __WXDEBUG__ )
|
||||
ENDIF(WIN32)
|
||||
ELSEIF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
add_definitions( -DRELEASE )
|
||||
ELSE()
|
||||
add_definitions( -DDEV )
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
IF(WIN32)
|
||||
add_definitions( -DWINDOWS )
|
||||
add_definitions( "-DGD_CORE_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_EXTENSION_API=__declspec(dllexport)" )
|
||||
|
||||
add_definitions( -D__GNUWIN32__ )
|
||||
add_definitions( -D__WXMSW__ )
|
||||
add_definitions( -DwxUSE_UNICODE=1 )
|
||||
add_definitions( -DWXUSINGDLL )
|
||||
ELSE()
|
||||
IF(APPLE)
|
||||
add_definitions( -DMACOS )
|
||||
ELSE()
|
||||
add_definitions( -DLINUX )
|
||||
ENDIF()
|
||||
add_definitions( -DGD_API= )
|
||||
add_definitions( -DGD_CORE_API= )
|
||||
add_definitions( -DGD_EXTENSION_API= )
|
||||
add_definitions(${GTK_CFLAGS_OTHER})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_add_extension_definitions(CommonDialogs)
|
||||
|
||||
#The targets
|
||||
###
|
||||
@@ -109,56 +18,13 @@ ELSE()
|
||||
file(GLOB source_files * nwidgets/nsource.cpp dlib-17.49/dlib/all/source.cpp)
|
||||
ENDIF()
|
||||
|
||||
add_library(CommonDialogs SHARED ${source_files})
|
||||
add_library(CommonDialogs_Runtime SHARED ${source_files})
|
||||
set_target_properties(CommonDialogs PROPERTIES COMPILE_DEFINITIONS "${CommonDialogs_extra_definitions}")
|
||||
set_target_properties(CommonDialogs_Runtime PROPERTIES COMPILE_DEFINITIONS "${CommonDialogs_Runtime_extra_definitions}")
|
||||
set_target_properties(CommonDialogs PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(CommonDialogs PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(CommonDialogs PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(CommonDialogs_Runtime PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(CommonDialogs_Runtime PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(CommonDialogs_Runtime PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(CommonDialogs_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "CommonDialogs")
|
||||
set_target_properties(CommonDialogs_Runtime PROPERTIES LIBRARY_OUTPUT_NAME "CommonDialogs")
|
||||
set_target_properties(CommonDialogs_Runtime PROPERTIES ARCHIVE_OUTPUT_NAME "CommonDialogs")
|
||||
set_target_properties(CommonDialogs PROPERTIES PREFIX "")
|
||||
set_target_properties(CommonDialogs_Runtime PROPERTIES PREFIX "")
|
||||
IF(WIN32)
|
||||
set_target_properties(CommonDialogs PROPERTIES SUFFIX ".xgdwe")
|
||||
set_target_properties(CommonDialogs_Runtime PROPERTIES SUFFIX ".xgdw")
|
||||
ELSE()
|
||||
set_target_properties(CommonDialogs PROPERTIES SUFFIX ".xgde")
|
||||
set_target_properties(CommonDialogs_Runtime PROPERTIES SUFFIX ".xgd")
|
||||
ENDIF(WIN32)
|
||||
set_target_properties(CommonDialogs_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "CommonDialogs")
|
||||
gd_add_extension_target(CommonDialogs "${source_files}")
|
||||
gdcpp_add_runtime_extension_target(CommonDialogs_Runtime "${source_files}")
|
||||
|
||||
#Linker files for the IDE extension
|
||||
###
|
||||
target_link_libraries(CommonDialogs GDCore)
|
||||
target_link_libraries(CommonDialogs GDCpp)
|
||||
IF(WIN32)
|
||||
target_link_libraries(CommonDialogs sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
target_link_libraries(CommonDialogs ${wxwidgets_lib_dir}/libwxmsw30ud_xrc.a ${wxwidgets_lib_dir}/libwxmsw30ud_stc.a ${wxwidgets_lib_dir}/libwxmsw30ud_richtext.a ${wxwidgets_lib_dir}/libwxmsw30ud_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30ud_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30ud_aui.a ${wxwidgets_lib_dir}/libwxmsw30ud_adv.a ${wxwidgets_lib_dir}/libwxmsw30ud_html.a ${wxwidgets_lib_dir}/libwxmsw30ud_core.a ${wxwidgets_lib_dir}/libwxbase30ud_xml.a ${wxwidgets_lib_dir}/libwxbase30ud_net.a ${wxwidgets_lib_dir}/libwxexpatd.a ${wxwidgets_lib_dir}/libwxbase30ud.a ${wxwidgets_lib_dir}/libwxpngd.a ${wxwidgets_lib_dir}/libwxjpegd.a ${wxwidgets_lib_dir}/libwxzlibd.a ${wxwidgets_lib_dir}/libwxtiffd.a)
|
||||
ELSE()
|
||||
target_link_libraries(CommonDialogs ${wxwidgets_lib_dir}/libwxmsw30u_xrc.a ${wxwidgets_lib_dir}/libwxmsw30u_stc.a ${wxwidgets_lib_dir}/libwxmsw30u_richtext.a ${wxwidgets_lib_dir}/libwxmsw30u_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30u_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30u_aui.a ${wxwidgets_lib_dir}/libwxmsw30u_adv.a ${wxwidgets_lib_dir}/libwxmsw30u_html.a ${wxwidgets_lib_dir}/libwxmsw30u_core.a ${wxwidgets_lib_dir}/libwxbase30u_xml.a ${wxwidgets_lib_dir}/libwxbase30u_net.a ${wxwidgets_lib_dir}/libwxexpat.a ${wxwidgets_lib_dir}/libwxbase30u.a ${wxwidgets_lib_dir}/libwxpng.a ${wxwidgets_lib_dir}/libwxjpeg.a ${wxwidgets_lib_dir}/libwxzlib.a ${wxwidgets_lib_dir}/libwxtiff.a)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
target_link_libraries(CommonDialogs ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(CommonDialogs sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(CommonDialogs ${wxWidgets_LIBRARIES})
|
||||
target_link_libraries(CommonDialogs ${GTK_LIBRARIES})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_extension_link_libraries(CommonDialogs)
|
||||
|
||||
#Linker files for the GD C++ Runtime extension
|
||||
###
|
||||
target_link_libraries(CommonDialogs_Runtime GDCpp_Runtime)
|
||||
IF(WIN32)
|
||||
target_link_libraries(CommonDialogs_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(CommonDialogs_Runtime ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(CommonDialogs_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
ENDIF(WIN32)
|
||||
gdcpp_runtime_extension_link_libraries(CommonDialogs_Runtime)
|
||||
|
@@ -2,176 +2,24 @@ cmake_minimum_required(VERSION 2.6)
|
||||
cmake_policy(SET CMP0015 NEW)
|
||||
|
||||
project(DestroyOutsideAutomatism)
|
||||
|
||||
#Sanity checks and options
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
message( "CMAKE_BUILD_TYPE is empty, assuming build type is Release" )
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
ENDIF()
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-s") ## Strip binary
|
||||
ENDIF()
|
||||
endif()
|
||||
if(EMSCRIPTEN) #When compiling for the web, ensure we get no warning when using our own external libraries.
|
||||
SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --bind -Wno-warn-absolute-paths" )
|
||||
ENDIF()
|
||||
|
||||
#Common directories:
|
||||
###
|
||||
set(GD_base_dir ${CMAKE_CURRENT_SOURCE_DIR}/../..)
|
||||
set(GDCORE_include_dir ${GD_base_dir}/Core)
|
||||
set(GDCORE_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_include_dir ${GD_base_dir}/GDCpp)
|
||||
set(GDCpp_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_Runtime_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Runtime)
|
||||
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
set(wxwidgets_include_dir ${GD_base_dir}/ExtLibs/wxwidgets/include)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswud)
|
||||
ELSE()
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswu)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_lib_dir ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll)
|
||||
ENDIF(WIN32)
|
||||
|
||||
|
||||
include_directories(${sfml_include_dir})
|
||||
include_directories(${GDCORE_include_dir})
|
||||
include_directories(${GDCpp_include_dir})
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
include_directories(${wxwidgets_include_dir})
|
||||
ELSEIF (NOT EMSCRIPTEN)
|
||||
find_package(wxWidgets COMPONENTS core base adv net ribbon stc aui propgrid richtext html xrc REQUIRED)
|
||||
include( "${wxWidgets_USE_FILE}" )
|
||||
include_directories(${GTK_INCLUDE_DIRS})
|
||||
link_directories(${GTK_LIBRARY_DIRS})
|
||||
ENDIF(WIN32)
|
||||
IF(NOT TARGET GDCore) #Ensure that the build will work even when GDCore is not in the target list.
|
||||
link_directories(${GDCORE_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp) #Ensure that the build will work even when GDC++ is not in the target list.
|
||||
link_directories(${GDCpp_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp_Runtime)
|
||||
add_library(GDCpp_Runtime SHARED IMPORTED)
|
||||
IF(WIN32)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/GDCpp.dll)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.dll.a)
|
||||
ELSE()
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/libGDCpp.so)
|
||||
#set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.so.a)
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gd_add_extension_includes()
|
||||
|
||||
#Defines
|
||||
###
|
||||
set(DestroyOutsideAutomatism_extra_definitions "${DestroyOutsideAutomatism_extra_definitions} GD_IDE_ONLY=1;")
|
||||
IF (EMSCRIPTEN) #When compiling for the web, we do not want any GUI related feature.
|
||||
add_definitions( -DGD_NO_WX_GUI )
|
||||
add_definitions( -DEMSCRIPTEN )
|
||||
ENDIF()
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
add_definitions( -DDEBUG )
|
||||
IF(WIN32)
|
||||
add_definitions( __WXDEBUG__ )
|
||||
ENDIF(WIN32)
|
||||
ELSEIF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
add_definitions( -DRELEASE )
|
||||
ELSE()
|
||||
add_definitions( -DDEV )
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
IF(WIN32)
|
||||
add_definitions( -DWINDOWS )
|
||||
add_definitions( "-DGD_CORE_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_EXTENSION_API=__declspec(dllexport)" )
|
||||
|
||||
add_definitions( -D__GNUWIN32__ )
|
||||
add_definitions( -D__WXMSW__ )
|
||||
add_definitions( -DwxUSE_UNICODE=1 )
|
||||
add_definitions( -DWXUSINGDLL )
|
||||
ELSE()
|
||||
IF(APPLE)
|
||||
add_definitions( -DMACOS )
|
||||
ELSE()
|
||||
add_definitions( -DLINUX )
|
||||
ENDIF()
|
||||
add_definitions( -DGD_API= )
|
||||
add_definitions( -DGD_CORE_API= )
|
||||
add_definitions( -DGD_EXTENSION_API= )
|
||||
add_definitions(${GTK_CFLAGS_OTHER})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_add_extension_definitions(DestroyOutsideAutomatism)
|
||||
|
||||
#The targets
|
||||
###
|
||||
include_directories(.)
|
||||
file(GLOB source_files *)
|
||||
|
||||
add_library(DestroyOutsideAutomatism SHARED ${source_files})
|
||||
set_target_properties(DestroyOutsideAutomatism PROPERTIES COMPILE_DEFINITIONS "${DestroyOutsideAutomatism_extra_definitions}")
|
||||
set_target_properties(DestroyOutsideAutomatism PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(DestroyOutsideAutomatism PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(DestroyOutsideAutomatism PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(DestroyOutsideAutomatism PROPERTIES PREFIX "")
|
||||
IF(NOT EMSCRIPTEN)
|
||||
add_library(DestroyOutsideAutomatism_Runtime SHARED ${source_files})
|
||||
set_target_properties(DestroyOutsideAutomatism_Runtime PROPERTIES COMPILE_DEFINITIONS "${DestroyOutsideAutomatism_Runtime_extra_definitions}")
|
||||
set_target_properties(DestroyOutsideAutomatism_Runtime PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(DestroyOutsideAutomatism_Runtime PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(DestroyOutsideAutomatism_Runtime PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(DestroyOutsideAutomatism_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "DestroyOutsideAutomatism")
|
||||
set_target_properties(DestroyOutsideAutomatism_Runtime PROPERTIES LIBRARY_OUTPUT_NAME "DestroyOutsideAutomatism")
|
||||
set_target_properties(DestroyOutsideAutomatism_Runtime PROPERTIES ARCHIVE_OUTPUT_NAME "DestroyOutsideAutomatism")
|
||||
set_target_properties(DestroyOutsideAutomatism_Runtime PROPERTIES PREFIX "")
|
||||
ENDIF()
|
||||
IF(WIN32)
|
||||
set_target_properties(DestroyOutsideAutomatism PROPERTIES SUFFIX ".xgdwe")
|
||||
set_target_properties(DestroyOutsideAutomatism_Runtime PROPERTIES SUFFIX ".xgdw")
|
||||
ELSEIF(EMSCRIPTEN)
|
||||
set_target_properties(DestroyOutsideAutomatism PROPERTIES SUFFIX ".bc")
|
||||
ELSE()
|
||||
set_target_properties(DestroyOutsideAutomatism PROPERTIES SUFFIX ".xgde")
|
||||
set_target_properties(DestroyOutsideAutomatism_Runtime PROPERTIES SUFFIX ".xgd")
|
||||
ENDIF(WIN32)
|
||||
gd_add_extension_target(DestroyOutsideAutomatism "${source_files}")
|
||||
gdcpp_add_runtime_extension_target(DestroyOutsideAutomatism_Runtime "${source_files}")
|
||||
|
||||
#Linker files for the IDE extension
|
||||
###
|
||||
IF(EMSCRIPTEN)
|
||||
#Nothing.
|
||||
ELSE()
|
||||
target_link_libraries(DestroyOutsideAutomatism GDCore)
|
||||
target_link_libraries(DestroyOutsideAutomatism GDCpp)
|
||||
IF(WIN32)
|
||||
target_link_libraries(DestroyOutsideAutomatism sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
target_link_libraries(DestroyOutsideAutomatism ${wxwidgets_lib_dir}/libwxmsw30ud_xrc.a ${wxwidgets_lib_dir}/libwxmsw30ud_stc.a ${wxwidgets_lib_dir}/libwxmsw30ud_richtext.a ${wxwidgets_lib_dir}/libwxmsw30ud_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30ud_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30ud_aui.a ${wxwidgets_lib_dir}/libwxmsw30ud_adv.a ${wxwidgets_lib_dir}/libwxmsw30ud_html.a ${wxwidgets_lib_dir}/libwxmsw30ud_core.a ${wxwidgets_lib_dir}/libwxbase30ud_xml.a ${wxwidgets_lib_dir}/libwxbase30ud_net.a ${wxwidgets_lib_dir}/libwxexpatd.a ${wxwidgets_lib_dir}/libwxbase30ud.a ${wxwidgets_lib_dir}/libwxpngd.a ${wxwidgets_lib_dir}/libwxjpegd.a ${wxwidgets_lib_dir}/libwxzlibd.a ${wxwidgets_lib_dir}/libwxtiffd.a)
|
||||
ELSE()
|
||||
target_link_libraries(DestroyOutsideAutomatism ${wxwidgets_lib_dir}/libwxmsw30u_xrc.a ${wxwidgets_lib_dir}/libwxmsw30u_stc.a ${wxwidgets_lib_dir}/libwxmsw30u_richtext.a ${wxwidgets_lib_dir}/libwxmsw30u_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30u_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30u_aui.a ${wxwidgets_lib_dir}/libwxmsw30u_adv.a ${wxwidgets_lib_dir}/libwxmsw30u_html.a ${wxwidgets_lib_dir}/libwxmsw30u_core.a ${wxwidgets_lib_dir}/libwxbase30u_xml.a ${wxwidgets_lib_dir}/libwxbase30u_net.a ${wxwidgets_lib_dir}/libwxexpat.a ${wxwidgets_lib_dir}/libwxbase30u.a ${wxwidgets_lib_dir}/libwxpng.a ${wxwidgets_lib_dir}/libwxjpeg.a ${wxwidgets_lib_dir}/libwxzlib.a ${wxwidgets_lib_dir}/libwxtiff.a)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
target_link_libraries(DestroyOutsideAutomatism ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(DestroyOutsideAutomatism sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(DestroyOutsideAutomatism ${wxWidgets_LIBRARIES})
|
||||
target_link_libraries(DestroyOutsideAutomatism ${GTK_LIBRARIES})
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
|
||||
gd_extension_link_libraries(DestroyOutsideAutomatism GDCore)
|
||||
|
||||
#Linker files for the GD C++ Runtime extension
|
||||
###
|
||||
IF(EMSCRIPTEN)
|
||||
#Nothing.
|
||||
ELSE()
|
||||
target_link_libraries(DestroyOutsideAutomatism_Runtime GDCpp_Runtime)
|
||||
IF(WIN32)
|
||||
target_link_libraries(DestroyOutsideAutomatism_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(DestroyOutsideAutomatism_Runtime ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(DestroyOutsideAutomatism_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gdcpp_runtime_extension_link_libraries(DestroyOutsideAutomatism_Runtime)
|
||||
|
@@ -2,175 +2,24 @@ cmake_minimum_required(VERSION 2.6)
|
||||
cmake_policy(SET CMP0015 NEW)
|
||||
|
||||
project(DraggableAutomatism)
|
||||
|
||||
#Sanity checks and options
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
message( "CMAKE_BUILD_TYPE is empty, assuming build type is Release" )
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
ENDIF()
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-s") ## Strip binary
|
||||
ENDIF()
|
||||
endif()
|
||||
if(EMSCRIPTEN) #When compiling for the web, ensure we get no warning when using our own external libraries.
|
||||
SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --bind -Wno-warn-absolute-paths" )
|
||||
ENDIF()
|
||||
|
||||
#Common directories:
|
||||
###
|
||||
set(GD_base_dir ${CMAKE_CURRENT_SOURCE_DIR}/../..)
|
||||
set(GDCORE_include_dir ${GD_base_dir}/Core)
|
||||
set(GDCORE_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_include_dir ${GD_base_dir}/GDCpp)
|
||||
set(GDCpp_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_Runtime_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Runtime)
|
||||
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
set(wxwidgets_include_dir ${GD_base_dir}/ExtLibs/wxwidgets/include)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswud)
|
||||
ELSE()
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswu)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_lib_dir ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll)
|
||||
ENDIF(WIN32)
|
||||
|
||||
|
||||
include_directories(${sfml_include_dir})
|
||||
include_directories(${GDCORE_include_dir})
|
||||
include_directories(${GDCpp_include_dir})
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
include_directories(${wxwidgets_include_dir})
|
||||
ELSEIF (NOT EMSCRIPTEN)
|
||||
find_package(wxWidgets COMPONENTS core base adv net ribbon stc aui propgrid richtext html xrc REQUIRED)
|
||||
include( "${wxWidgets_USE_FILE}" )
|
||||
include_directories(${GTK_INCLUDE_DIRS})
|
||||
link_directories(${GTK_LIBRARY_DIRS})
|
||||
ENDIF(WIN32)
|
||||
IF(NOT TARGET GDCore) #Ensure that the build will work even when GDCore is not in the target list.
|
||||
link_directories(${GDCORE_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp) #Ensure that the build will work even when GDC++ is not in the target list.
|
||||
link_directories(${GDCpp_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp_Runtime)
|
||||
add_library(GDCpp_Runtime SHARED IMPORTED)
|
||||
IF(WIN32)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/GDCpp.dll)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.dll.a)
|
||||
ELSE()
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/libGDCpp.so)
|
||||
#set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.so.a)
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gd_add_extension_includes()
|
||||
|
||||
#Defines
|
||||
###
|
||||
set(DraggableAutomatism_extra_definitions "${DraggableAutomatism_extra_definitions} GD_IDE_ONLY=1;")
|
||||
IF (EMSCRIPTEN) #When compiling for the web, we do not want any GUI related feature.
|
||||
add_definitions( -DGD_NO_WX_GUI )
|
||||
add_definitions( -DEMSCRIPTEN )
|
||||
ENDIF()
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
add_definitions( -DDEBUG )
|
||||
IF(WIN32)
|
||||
add_definitions( __WXDEBUG__ )
|
||||
ENDIF(WIN32)
|
||||
ELSEIF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
add_definitions( -DRELEASE )
|
||||
ELSE()
|
||||
add_definitions( -DDEV )
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
IF(WIN32)
|
||||
add_definitions( -DWINDOWS )
|
||||
add_definitions( "-DGD_CORE_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_EXTENSION_API=__declspec(dllexport)" )
|
||||
|
||||
add_definitions( -D__GNUWIN32__ )
|
||||
add_definitions( -D__WXMSW__ )
|
||||
add_definitions( -DwxUSE_UNICODE=1 )
|
||||
add_definitions( -DWXUSINGDLL )
|
||||
ELSE()
|
||||
IF(APPLE)
|
||||
add_definitions( -DMACOS )
|
||||
ELSE()
|
||||
add_definitions( -DLINUX )
|
||||
ENDIF()
|
||||
add_definitions( -DGD_API= )
|
||||
add_definitions( -DGD_CORE_API= )
|
||||
add_definitions( -DGD_EXTENSION_API= )
|
||||
add_definitions(${GTK_CFLAGS_OTHER})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_add_extension_definitions(DraggableAutomatism)
|
||||
|
||||
#The targets
|
||||
###
|
||||
include_directories(.)
|
||||
file(GLOB source_files *)
|
||||
|
||||
add_library(DraggableAutomatism SHARED ${source_files})
|
||||
set_target_properties(DraggableAutomatism PROPERTIES PREFIX "")
|
||||
set_target_properties(DraggableAutomatism PROPERTIES COMPILE_DEFINITIONS "${DraggableAutomatism_extra_definitions}")
|
||||
set_target_properties(DraggableAutomatism PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(DraggableAutomatism PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(DraggableAutomatism PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
IF(NOT EMSCRIPTEN)
|
||||
add_library(DraggableAutomatism_Runtime SHARED ${source_files})
|
||||
set_target_properties(DraggableAutomatism_Runtime PROPERTIES COMPILE_DEFINITIONS "${DraggableAutomatism_Runtime_extra_definitions}")
|
||||
set_target_properties(DraggableAutomatism_Runtime PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(DraggableAutomatism_Runtime PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(DraggableAutomatism_Runtime PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(DraggableAutomatism_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "DraggableAutomatism")
|
||||
set_target_properties(DraggableAutomatism_Runtime PROPERTIES LIBRARY_OUTPUT_NAME "DraggableAutomatism")
|
||||
set_target_properties(DraggableAutomatism_Runtime PROPERTIES ARCHIVE_OUTPUT_NAME "DraggableAutomatism")
|
||||
set_target_properties(DraggableAutomatism_Runtime PROPERTIES PREFIX "")
|
||||
ENDIF()
|
||||
IF(WIN32)
|
||||
set_target_properties(DraggableAutomatism PROPERTIES SUFFIX ".xgdwe")
|
||||
set_target_properties(DraggableAutomatism_Runtime PROPERTIES SUFFIX ".xgdw")
|
||||
ELSEIF(EMSCRIPTEN)
|
||||
set_target_properties(DraggableAutomatism PROPERTIES SUFFIX ".bc")
|
||||
ELSE()
|
||||
set_target_properties(DraggableAutomatism PROPERTIES SUFFIX ".xgde")
|
||||
set_target_properties(DraggableAutomatism_Runtime PROPERTIES SUFFIX ".xgd")
|
||||
ENDIF(WIN32)
|
||||
gd_add_extension_target(DraggableAutomatism "${source_files}")
|
||||
gdcpp_add_runtime_extension_target(DraggableAutomatism_Runtime "${source_files}")
|
||||
|
||||
#Linker files for the IDE extension
|
||||
###
|
||||
IF(EMSCRIPTEN)
|
||||
#Nothing.
|
||||
ELSE()
|
||||
target_link_libraries(DraggableAutomatism GDCore)
|
||||
target_link_libraries(DraggableAutomatism GDCpp)
|
||||
IF(WIN32)
|
||||
target_link_libraries(DraggableAutomatism sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
target_link_libraries(DraggableAutomatism ${wxwidgets_lib_dir}/libwxmsw30ud_xrc.a ${wxwidgets_lib_dir}/libwxmsw30ud_stc.a ${wxwidgets_lib_dir}/libwxmsw30ud_richtext.a ${wxwidgets_lib_dir}/libwxmsw30ud_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30ud_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30ud_aui.a ${wxwidgets_lib_dir}/libwxmsw30ud_adv.a ${wxwidgets_lib_dir}/libwxmsw30ud_html.a ${wxwidgets_lib_dir}/libwxmsw30ud_core.a ${wxwidgets_lib_dir}/libwxbase30ud_xml.a ${wxwidgets_lib_dir}/libwxbase30ud_net.a ${wxwidgets_lib_dir}/libwxexpatd.a ${wxwidgets_lib_dir}/libwxbase30ud.a ${wxwidgets_lib_dir}/libwxpngd.a ${wxwidgets_lib_dir}/libwxjpegd.a ${wxwidgets_lib_dir}/libwxzlibd.a ${wxwidgets_lib_dir}/libwxtiffd.a)
|
||||
ELSE()
|
||||
target_link_libraries(DraggableAutomatism ${wxwidgets_lib_dir}/libwxmsw30u_xrc.a ${wxwidgets_lib_dir}/libwxmsw30u_stc.a ${wxwidgets_lib_dir}/libwxmsw30u_richtext.a ${wxwidgets_lib_dir}/libwxmsw30u_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30u_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30u_aui.a ${wxwidgets_lib_dir}/libwxmsw30u_adv.a ${wxwidgets_lib_dir}/libwxmsw30u_html.a ${wxwidgets_lib_dir}/libwxmsw30u_core.a ${wxwidgets_lib_dir}/libwxbase30u_xml.a ${wxwidgets_lib_dir}/libwxbase30u_net.a ${wxwidgets_lib_dir}/libwxexpat.a ${wxwidgets_lib_dir}/libwxbase30u.a ${wxwidgets_lib_dir}/libwxpng.a ${wxwidgets_lib_dir}/libwxjpeg.a ${wxwidgets_lib_dir}/libwxzlib.a ${wxwidgets_lib_dir}/libwxtiff.a)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
target_link_libraries(DraggableAutomatism ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(DraggableAutomatism sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(DraggableAutomatism ${wxWidgets_LIBRARIES})
|
||||
target_link_libraries(DraggableAutomatism ${GTK_LIBRARIES})
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gd_extension_link_libraries(DraggableAutomatism)
|
||||
|
||||
#Linker files for the GD C++ Runtime extension
|
||||
###
|
||||
IF(EMSCRIPTEN)
|
||||
#Nothing.
|
||||
ELSE()
|
||||
target_link_libraries(DraggableAutomatism_Runtime GDCpp_Runtime)
|
||||
IF(WIN32)
|
||||
target_link_libraries(DraggableAutomatism_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(DraggableAutomatism_Runtime ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(DraggableAutomatism_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gdcpp_runtime_extension_link_libraries(DraggableAutomatism_Runtime)
|
||||
|
@@ -2,158 +2,24 @@ cmake_minimum_required(VERSION 2.6)
|
||||
cmake_policy(SET CMP0015 NEW)
|
||||
|
||||
project(Function)
|
||||
|
||||
#Sanity checks and options
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
message( "CMAKE_BUILD_TYPE is empty, assuming build type is Release" )
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
ENDIF()
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-s") ## Strip binary
|
||||
ENDIF()
|
||||
endif()
|
||||
|
||||
#Common directories:
|
||||
###
|
||||
set(GD_base_dir ${CMAKE_CURRENT_SOURCE_DIR}/../..)
|
||||
set(GDCORE_include_dir ${GD_base_dir}/Core)
|
||||
set(GDCORE_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_include_dir ${GD_base_dir}/GDCpp)
|
||||
set(GDCpp_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_Runtime_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Runtime)
|
||||
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
set(wxwidgets_include_dir ${GD_base_dir}/ExtLibs/wxwidgets/include)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswud)
|
||||
ELSE()
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswu)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_lib_dir ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll)
|
||||
ENDIF(WIN32)
|
||||
|
||||
|
||||
include_directories(${sfml_include_dir})
|
||||
include_directories(${GDCORE_include_dir})
|
||||
include_directories(${GDCpp_include_dir})
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
include_directories(${wxwidgets_include_dir})
|
||||
ELSE()
|
||||
find_package(wxWidgets COMPONENTS core base adv net ribbon stc aui propgrid richtext html xrc REQUIRED)
|
||||
include( "${wxWidgets_USE_FILE}" )
|
||||
include_directories(${GTK_INCLUDE_DIRS})
|
||||
link_directories(${GTK_LIBRARY_DIRS})
|
||||
ENDIF(WIN32)
|
||||
IF(NOT TARGET GDCore) #Ensure that the build will work even when GDCore is not in the target list.
|
||||
link_directories(${GDCORE_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp) #Ensure that the build will work even when GDC++ is not in the target list.
|
||||
link_directories(${GDCpp_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp_Runtime)
|
||||
add_library(GDCpp_Runtime SHARED IMPORTED)
|
||||
IF(WIN32)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/GDCpp.dll)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.dll.a)
|
||||
ELSE()
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/libGDCpp.so)
|
||||
#set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.so.a)
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gd_add_extension_includes()
|
||||
|
||||
#Defines
|
||||
###
|
||||
set(Function_extra_definitions "${Function_extra_definitions} GD_IDE_ONLY=1;")
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
add_definitions( -DDEBUG )
|
||||
IF(WIN32)
|
||||
add_definitions( __WXDEBUG__ )
|
||||
ENDIF(WIN32)
|
||||
ELSEIF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
add_definitions( -DRELEASE )
|
||||
ELSE()
|
||||
add_definitions( -DDEV )
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
IF(WIN32)
|
||||
add_definitions( -DWINDOWS )
|
||||
add_definitions( "-DGD_CORE_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_EXTENSION_API=__declspec(dllexport)" )
|
||||
|
||||
add_definitions( -D__GNUWIN32__ )
|
||||
add_definitions( -D__WXMSW__ )
|
||||
add_definitions( -DwxUSE_UNICODE=1 )
|
||||
add_definitions( -DWXUSINGDLL )
|
||||
ELSE()
|
||||
IF(APPLE)
|
||||
add_definitions( -DMACOS )
|
||||
ELSE()
|
||||
add_definitions( -DLINUX )
|
||||
ENDIF()
|
||||
add_definitions( -DGD_API= )
|
||||
add_definitions( -DGD_CORE_API= )
|
||||
add_definitions( -DGD_EXTENSION_API= )
|
||||
add_definitions(${GTK_CFLAGS_OTHER})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_add_extension_definitions(Function)
|
||||
|
||||
#The targets
|
||||
###
|
||||
include_directories(.)
|
||||
file(GLOB source_files *)
|
||||
|
||||
add_library(Function SHARED ${source_files})
|
||||
add_library(Function_Runtime SHARED ${source_files})
|
||||
set_target_properties(Function PROPERTIES COMPILE_DEFINITIONS "${Function_extra_definitions}")
|
||||
set_target_properties(Function_Runtime PROPERTIES COMPILE_DEFINITIONS "${Function_Runtime_extra_definitions}")
|
||||
set_target_properties(Function PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(Function PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(Function PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(Function_Runtime PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(Function_Runtime PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(Function_Runtime PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(Function_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "Function")
|
||||
set_target_properties(Function_Runtime PROPERTIES LIBRARY_OUTPUT_NAME "Function")
|
||||
set_target_properties(Function_Runtime PROPERTIES ARCHIVE_OUTPUT_NAME "Function")
|
||||
set_target_properties(Function PROPERTIES PREFIX "")
|
||||
set_target_properties(Function_Runtime PROPERTIES PREFIX "")
|
||||
IF(WIN32)
|
||||
set_target_properties(Function PROPERTIES SUFFIX ".xgdwe")
|
||||
set_target_properties(Function_Runtime PROPERTIES SUFFIX ".xgdw")
|
||||
ELSE()
|
||||
set_target_properties(Function PROPERTIES SUFFIX ".xgde")
|
||||
set_target_properties(Function_Runtime PROPERTIES SUFFIX ".xgd")
|
||||
ENDIF(WIN32)
|
||||
set_target_properties(Function_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "Function")
|
||||
gd_add_extension_target(Function "${source_files}")
|
||||
gdcpp_add_runtime_extension_target(Function_Runtime "${source_files}")
|
||||
|
||||
#Linker files for the IDE extension
|
||||
###
|
||||
target_link_libraries(Function GDCore)
|
||||
target_link_libraries(Function GDCpp)
|
||||
IF(WIN32)
|
||||
target_link_libraries(Function sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
target_link_libraries(Function ${wxwidgets_lib_dir}/libwxmsw30ud_xrc.a ${wxwidgets_lib_dir}/libwxmsw30ud_stc.a ${wxwidgets_lib_dir}/libwxmsw30ud_richtext.a ${wxwidgets_lib_dir}/libwxmsw30ud_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30ud_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30ud_aui.a ${wxwidgets_lib_dir}/libwxmsw30ud_adv.a ${wxwidgets_lib_dir}/libwxmsw30ud_html.a ${wxwidgets_lib_dir}/libwxmsw30ud_core.a ${wxwidgets_lib_dir}/libwxbase30ud_xml.a ${wxwidgets_lib_dir}/libwxbase30ud_net.a ${wxwidgets_lib_dir}/libwxexpatd.a ${wxwidgets_lib_dir}/libwxbase30ud.a ${wxwidgets_lib_dir}/libwxpngd.a ${wxwidgets_lib_dir}/libwxjpegd.a ${wxwidgets_lib_dir}/libwxzlibd.a ${wxwidgets_lib_dir}/libwxtiffd.a)
|
||||
ELSE()
|
||||
target_link_libraries(Function ${wxwidgets_lib_dir}/libwxmsw30u_xrc.a ${wxwidgets_lib_dir}/libwxmsw30u_stc.a ${wxwidgets_lib_dir}/libwxmsw30u_richtext.a ${wxwidgets_lib_dir}/libwxmsw30u_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30u_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30u_aui.a ${wxwidgets_lib_dir}/libwxmsw30u_adv.a ${wxwidgets_lib_dir}/libwxmsw30u_html.a ${wxwidgets_lib_dir}/libwxmsw30u_core.a ${wxwidgets_lib_dir}/libwxbase30u_xml.a ${wxwidgets_lib_dir}/libwxbase30u_net.a ${wxwidgets_lib_dir}/libwxexpat.a ${wxwidgets_lib_dir}/libwxbase30u.a ${wxwidgets_lib_dir}/libwxpng.a ${wxwidgets_lib_dir}/libwxjpeg.a ${wxwidgets_lib_dir}/libwxzlib.a ${wxwidgets_lib_dir}/libwxtiff.a)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
target_link_libraries(Function ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(Function sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(Function ${wxWidgets_LIBRARIES})
|
||||
target_link_libraries(Function ${GTK_LIBRARIES})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_extension_link_libraries(Function)
|
||||
|
||||
#Linker files for the GD C++ Runtime extension
|
||||
###
|
||||
target_link_libraries(Function_Runtime GDCpp_Runtime)
|
||||
IF(WIN32)
|
||||
target_link_libraries(Function_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(Function_Runtime ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(Function_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
ENDIF(WIN32)
|
||||
gdcpp_runtime_extension_link_libraries(Function_Runtime)
|
||||
|
@@ -2,158 +2,24 @@ cmake_minimum_required(VERSION 2.6)
|
||||
cmake_policy(SET CMP0015 NEW)
|
||||
|
||||
project(Light)
|
||||
|
||||
#Sanity checks and options
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
message( "CMAKE_BUILD_TYPE is empty, assuming build type is Release" )
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
ENDIF()
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-s") ## Strip binary
|
||||
ENDIF()
|
||||
endif()
|
||||
|
||||
#Common directories:
|
||||
###
|
||||
set(GD_base_dir ${CMAKE_CURRENT_SOURCE_DIR}/../..)
|
||||
set(GDCORE_include_dir ${GD_base_dir}/Core)
|
||||
set(GDCORE_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_include_dir ${GD_base_dir}/GDCpp)
|
||||
set(GDCpp_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_Runtime_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Runtime)
|
||||
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
set(wxwidgets_include_dir ${GD_base_dir}/ExtLibs/wxwidgets/include)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswud)
|
||||
ELSE()
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswu)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_lib_dir ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll)
|
||||
ENDIF(WIN32)
|
||||
|
||||
|
||||
include_directories(${sfml_include_dir})
|
||||
include_directories(${GDCORE_include_dir})
|
||||
include_directories(${GDCpp_include_dir})
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
include_directories(${wxwidgets_include_dir})
|
||||
ELSE()
|
||||
find_package(wxWidgets COMPONENTS core base adv net ribbon stc aui propgrid richtext html xrc REQUIRED)
|
||||
include( "${wxWidgets_USE_FILE}" )
|
||||
include_directories(${GTK_INCLUDE_DIRS})
|
||||
link_directories(${GTK_LIBRARY_DIRS})
|
||||
ENDIF(WIN32)
|
||||
IF(NOT TARGET GDCore) #Ensure that the build will work even when GDCore is not in the target list.
|
||||
link_directories(${GDCORE_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp) #Ensure that the build will work even when GDC++ is not in the target list.
|
||||
link_directories(${GDCpp_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp_Runtime)
|
||||
add_library(GDCpp_Runtime SHARED IMPORTED)
|
||||
IF(WIN32)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/GDCpp.dll)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.dll.a)
|
||||
ELSE()
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/libGDCpp.so)
|
||||
#set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.so.a)
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gd_add_extension_includes()
|
||||
|
||||
#Defines
|
||||
###
|
||||
set(Light_extra_definitions "${Light_extra_definitions} GD_IDE_ONLY=1;")
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
add_definitions( -DDEBUG )
|
||||
IF(WIN32)
|
||||
add_definitions( __WXDEBUG__ )
|
||||
ENDIF(WIN32)
|
||||
ELSEIF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
add_definitions( -DRELEASE )
|
||||
ELSE()
|
||||
add_definitions( -DDEV )
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
IF(WIN32)
|
||||
add_definitions( -DWINDOWS )
|
||||
add_definitions( "-DGD_CORE_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_EXTENSION_API=__declspec(dllexport)" )
|
||||
|
||||
add_definitions( -D__GNUWIN32__ )
|
||||
add_definitions( -D__WXMSW__ )
|
||||
add_definitions( -DwxUSE_UNICODE=1 )
|
||||
add_definitions( -DWXUSINGDLL )
|
||||
ELSE()
|
||||
IF(APPLE)
|
||||
add_definitions( -DMACOS )
|
||||
ELSE()
|
||||
add_definitions( -DLINUX )
|
||||
ENDIF()
|
||||
add_definitions( -DGD_API= )
|
||||
add_definitions( -DGD_CORE_API= )
|
||||
add_definitions( -DGD_EXTENSION_API= )
|
||||
add_definitions(${GTK_CFLAGS_OTHER})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_add_extension_definitions(Light)
|
||||
|
||||
#The targets
|
||||
###
|
||||
include_directories(.)
|
||||
file(GLOB source_files *)
|
||||
|
||||
add_library(Light SHARED ${source_files})
|
||||
add_library(Light_Runtime SHARED ${source_files})
|
||||
set_target_properties(Light PROPERTIES COMPILE_DEFINITIONS "${Light_extra_definitions}")
|
||||
set_target_properties(Light_Runtime PROPERTIES COMPILE_DEFINITIONS "${Light_Runtime_extra_definitions}")
|
||||
set_target_properties(Light PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(Light PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(Light PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(Light_Runtime PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(Light_Runtime PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(Light_Runtime PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(Light_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "Light")
|
||||
set_target_properties(Light_Runtime PROPERTIES LIBRARY_OUTPUT_NAME "Light")
|
||||
set_target_properties(Light_Runtime PROPERTIES ARCHIVE_OUTPUT_NAME "Light")
|
||||
set_target_properties(Light PROPERTIES PREFIX "")
|
||||
set_target_properties(Light_Runtime PROPERTIES PREFIX "")
|
||||
IF(WIN32)
|
||||
set_target_properties(Light PROPERTIES SUFFIX ".xgdwe")
|
||||
set_target_properties(Light_Runtime PROPERTIES SUFFIX ".xgdw")
|
||||
ELSE()
|
||||
set_target_properties(Light PROPERTIES SUFFIX ".xgde")
|
||||
set_target_properties(Light_Runtime PROPERTIES SUFFIX ".xgd")
|
||||
ENDIF(WIN32)
|
||||
set_target_properties(Light_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "Light")
|
||||
gd_add_extension_target(Light "${source_files}")
|
||||
gdcpp_add_runtime_extension_target(Light_Runtime "${source_files}")
|
||||
|
||||
#Linker files for the IDE extension
|
||||
###
|
||||
target_link_libraries(Light GDCore)
|
||||
target_link_libraries(Light GDCpp)
|
||||
IF(WIN32)
|
||||
target_link_libraries(Light sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
target_link_libraries(Light ${wxwidgets_lib_dir}/libwxmsw30ud_xrc.a ${wxwidgets_lib_dir}/libwxmsw30ud_stc.a ${wxwidgets_lib_dir}/libwxmsw30ud_richtext.a ${wxwidgets_lib_dir}/libwxmsw30ud_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30ud_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30ud_aui.a ${wxwidgets_lib_dir}/libwxmsw30ud_adv.a ${wxwidgets_lib_dir}/libwxmsw30ud_html.a ${wxwidgets_lib_dir}/libwxmsw30ud_core.a ${wxwidgets_lib_dir}/libwxbase30ud_xml.a ${wxwidgets_lib_dir}/libwxbase30ud_net.a ${wxwidgets_lib_dir}/libwxexpatd.a ${wxwidgets_lib_dir}/libwxbase30ud.a ${wxwidgets_lib_dir}/libwxpngd.a ${wxwidgets_lib_dir}/libwxjpegd.a ${wxwidgets_lib_dir}/libwxzlibd.a ${wxwidgets_lib_dir}/libwxtiffd.a)
|
||||
ELSE()
|
||||
target_link_libraries(Light ${wxwidgets_lib_dir}/libwxmsw30u_xrc.a ${wxwidgets_lib_dir}/libwxmsw30u_stc.a ${wxwidgets_lib_dir}/libwxmsw30u_richtext.a ${wxwidgets_lib_dir}/libwxmsw30u_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30u_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30u_aui.a ${wxwidgets_lib_dir}/libwxmsw30u_adv.a ${wxwidgets_lib_dir}/libwxmsw30u_html.a ${wxwidgets_lib_dir}/libwxmsw30u_core.a ${wxwidgets_lib_dir}/libwxbase30u_xml.a ${wxwidgets_lib_dir}/libwxbase30u_net.a ${wxwidgets_lib_dir}/libwxexpat.a ${wxwidgets_lib_dir}/libwxbase30u.a ${wxwidgets_lib_dir}/libwxpng.a ${wxwidgets_lib_dir}/libwxjpeg.a ${wxwidgets_lib_dir}/libwxzlib.a ${wxwidgets_lib_dir}/libwxtiff.a)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
target_link_libraries(Light ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(Light sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(Light ${wxWidgets_LIBRARIES})
|
||||
target_link_libraries(Light ${GTK_LIBRARIES})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_extension_link_libraries(Light)
|
||||
|
||||
#Linker files for the GD C++ Runtime extension
|
||||
###
|
||||
target_link_libraries(Light_Runtime GDCpp_Runtime)
|
||||
IF(WIN32)
|
||||
target_link_libraries(Light_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(Light_Runtime ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(Light_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
ENDIF(WIN32)
|
||||
gdcpp_runtime_extension_link_libraries(Light_Runtime)
|
||||
|
@@ -2,175 +2,30 @@ cmake_minimum_required(VERSION 2.6)
|
||||
cmake_policy(SET CMP0015 NEW)
|
||||
|
||||
project(LinkedObjects)
|
||||
|
||||
#Sanity checks and options
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
message( "CMAKE_BUILD_TYPE is empty, assuming build type is Release" )
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
ENDIF()
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-s") ## Strip binary
|
||||
ENDIF()
|
||||
endif()
|
||||
|
||||
#Common directories:
|
||||
###
|
||||
set(GD_base_dir ${CMAKE_CURRENT_SOURCE_DIR}/../..)
|
||||
set(GDCORE_include_dir ${GD_base_dir}/Core)
|
||||
set(GDCORE_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_include_dir ${GD_base_dir}/GDCpp)
|
||||
set(GDCpp_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_Runtime_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Runtime)
|
||||
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
set(wxwidgets_include_dir ${GD_base_dir}/ExtLibs/wxwidgets/include)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswud)
|
||||
ELSE()
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswu)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_lib_dir ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll)
|
||||
ENDIF(WIN32)
|
||||
|
||||
|
||||
include_directories(${sfml_include_dir})
|
||||
include_directories(${GDCORE_include_dir})
|
||||
include_directories(${GDCpp_include_dir})
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
include_directories(${wxwidgets_include_dir})
|
||||
ELSE()
|
||||
find_package(wxWidgets COMPONENTS core base adv net ribbon stc aui propgrid richtext html xrc REQUIRED)
|
||||
include( "${wxWidgets_USE_FILE}" )
|
||||
include_directories(${GTK_INCLUDE_DIRS})
|
||||
link_directories(${GTK_LIBRARY_DIRS})
|
||||
ENDIF(WIN32)
|
||||
IF(NOT TARGET GDCore) #Ensure that the build will work even when GDCore is not in the target list.
|
||||
link_directories(${GDCORE_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp) #Ensure that the build will work even when GDC++ is not in the target list.
|
||||
link_directories(${GDCpp_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp_Runtime)
|
||||
add_library(GDCpp_Runtime SHARED IMPORTED)
|
||||
IF(WIN32)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/GDCpp.dll)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.dll.a)
|
||||
ELSE()
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/libGDCpp.so)
|
||||
#set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.so.a)
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gd_add_extension_includes()
|
||||
|
||||
#Defines
|
||||
###
|
||||
set(LinkedObjects_extra_definitions "${LinkedObjects_extra_definitions} GD_IDE_ONLY=1;")
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
add_definitions( -DDEBUG )
|
||||
IF(WIN32)
|
||||
add_definitions( __WXDEBUG__ )
|
||||
ENDIF(WIN32)
|
||||
ELSEIF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
add_definitions( -DRELEASE )
|
||||
ELSE()
|
||||
add_definitions( -DDEV )
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
IF(WIN32)
|
||||
add_definitions( -DWINDOWS )
|
||||
add_definitions( "-DGD_CORE_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_EXTENSION_API=__declspec(dllexport)" )
|
||||
|
||||
add_definitions( -D__GNUWIN32__ )
|
||||
add_definitions( -D__WXMSW__ )
|
||||
add_definitions( -DwxUSE_UNICODE=1 )
|
||||
add_definitions( -DWXUSINGDLL )
|
||||
ELSE()
|
||||
IF(APPLE)
|
||||
add_definitions( -DMACOS )
|
||||
ELSE()
|
||||
add_definitions( -DLINUX )
|
||||
ENDIF()
|
||||
add_definitions( -DGD_API= )
|
||||
add_definitions( -DGD_CORE_API= )
|
||||
add_definitions( -DGD_EXTENSION_API= )
|
||||
add_definitions(${GTK_CFLAGS_OTHER})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_add_extension_definitions(LinkedObjects)
|
||||
|
||||
#The targets
|
||||
###
|
||||
include_directories(.)
|
||||
file(GLOB source_files *)
|
||||
|
||||
add_library(LinkedObjects SHARED ${source_files})
|
||||
add_library(LinkedObjects_Runtime SHARED ${source_files})
|
||||
set_target_properties(LinkedObjects PROPERTIES COMPILE_DEFINITIONS "${LinkedObjects_extra_definitions}")
|
||||
set_target_properties(LinkedObjects_Runtime PROPERTIES COMPILE_DEFINITIONS "${LinkedObjects_Runtime_extra_definitions}")
|
||||
set_target_properties(LinkedObjects PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(LinkedObjects PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(LinkedObjects PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(LinkedObjects_Runtime PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(LinkedObjects_Runtime PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(LinkedObjects_Runtime PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(LinkedObjects_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "LinkedObjects")
|
||||
set_target_properties(LinkedObjects_Runtime PROPERTIES LIBRARY_OUTPUT_NAME "LinkedObjects")
|
||||
set_target_properties(LinkedObjects_Runtime PROPERTIES ARCHIVE_OUTPUT_NAME "LinkedObjects")
|
||||
set_target_properties(LinkedObjects PROPERTIES PREFIX "")
|
||||
set_target_properties(LinkedObjects_Runtime PROPERTIES PREFIX "")
|
||||
IF(WIN32)
|
||||
set_target_properties(LinkedObjects PROPERTIES SUFFIX ".xgdwe")
|
||||
set_target_properties(LinkedObjects_Runtime PROPERTIES SUFFIX ".xgdw")
|
||||
ELSE()
|
||||
set_target_properties(LinkedObjects PROPERTIES SUFFIX ".xgde")
|
||||
set_target_properties(LinkedObjects_Runtime PROPERTIES SUFFIX ".xgd")
|
||||
ENDIF(WIN32)
|
||||
set_target_properties(LinkedObjects_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "LinkedObjects")
|
||||
gd_add_extension_target(LinkedObjects "${source_files}")
|
||||
gdcpp_add_runtime_extension_target(LinkedObjects_Runtime "${source_files}")
|
||||
|
||||
#Linker files for the IDE extension
|
||||
###
|
||||
target_link_libraries(LinkedObjects GDCore)
|
||||
target_link_libraries(LinkedObjects GDCpp)
|
||||
IF(WIN32)
|
||||
target_link_libraries(LinkedObjects sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
target_link_libraries(LinkedObjects ${wxwidgets_lib_dir}/libwxmsw30ud_xrc.a ${wxwidgets_lib_dir}/libwxmsw30ud_stc.a ${wxwidgets_lib_dir}/libwxmsw30ud_richtext.a ${wxwidgets_lib_dir}/libwxmsw30ud_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30ud_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30ud_aui.a ${wxwidgets_lib_dir}/libwxmsw30ud_adv.a ${wxwidgets_lib_dir}/libwxmsw30ud_html.a ${wxwidgets_lib_dir}/libwxmsw30ud_core.a ${wxwidgets_lib_dir}/libwxbase30ud_xml.a ${wxwidgets_lib_dir}/libwxbase30ud_net.a ${wxwidgets_lib_dir}/libwxexpatd.a ${wxwidgets_lib_dir}/libwxbase30ud.a ${wxwidgets_lib_dir}/libwxpngd.a ${wxwidgets_lib_dir}/libwxjpegd.a ${wxwidgets_lib_dir}/libwxzlibd.a ${wxwidgets_lib_dir}/libwxtiffd.a)
|
||||
ELSE()
|
||||
target_link_libraries(LinkedObjects ${wxwidgets_lib_dir}/libwxmsw30u_xrc.a ${wxwidgets_lib_dir}/libwxmsw30u_stc.a ${wxwidgets_lib_dir}/libwxmsw30u_richtext.a ${wxwidgets_lib_dir}/libwxmsw30u_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30u_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30u_aui.a ${wxwidgets_lib_dir}/libwxmsw30u_adv.a ${wxwidgets_lib_dir}/libwxmsw30u_html.a ${wxwidgets_lib_dir}/libwxmsw30u_core.a ${wxwidgets_lib_dir}/libwxbase30u_xml.a ${wxwidgets_lib_dir}/libwxbase30u_net.a ${wxwidgets_lib_dir}/libwxexpat.a ${wxwidgets_lib_dir}/libwxbase30u.a ${wxwidgets_lib_dir}/libwxpng.a ${wxwidgets_lib_dir}/libwxjpeg.a ${wxwidgets_lib_dir}/libwxzlib.a ${wxwidgets_lib_dir}/libwxtiff.a)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
target_link_libraries(LinkedObjects ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(LinkedObjects sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(LinkedObjects ${wxWidgets_LIBRARIES})
|
||||
target_link_libraries(LinkedObjects ${GTK_LIBRARIES})
|
||||
ENDIF(WIN32)
|
||||
gd_extension_link_libraries(LinkedObjects)
|
||||
|
||||
|
||||
#Linker files for the GD C++ Runtime extension
|
||||
###
|
||||
target_link_libraries(LinkedObjects_Runtime GDCpp_Runtime)
|
||||
IF(WIN32)
|
||||
target_link_libraries(LinkedObjects_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(LinkedObjects_Runtime ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(LinkedObjects_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
ENDIF(WIN32)
|
||||
gdcpp_runtime_extension_link_libraries(LinkedObjects_Runtime)
|
||||
|
||||
#Tests for the GD C++ Runtime extension
|
||||
###
|
||||
if(BUILD_TESTS)
|
||||
file(
|
||||
GLOB_RECURSE
|
||||
test_source_files
|
||||
tests/*
|
||||
)
|
||||
add_executable(LinkedObjects_Runtime_tests ${test_source_files})
|
||||
target_link_libraries(LinkedObjects_Runtime_tests GDCpp_Runtime)
|
||||
target_link_libraries(LinkedObjects_Runtime_tests LinkedObjects_Runtime)
|
||||
target_link_libraries(LinkedObjects_Runtime_tests sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
IF (NOT APPLE)
|
||||
target_link_libraries(LinkedObjects_Runtime_tests GLU GL)
|
||||
ENDIF()
|
||||
endif()
|
||||
file(GLOB_RECURSE test_source_files tests/*)
|
||||
gdcpp_add_tests_extension_target(LinkedObjects_Runtime_tests "${test_source_files}")
|
||||
|
@@ -2,158 +2,24 @@ cmake_minimum_required(VERSION 2.6)
|
||||
cmake_policy(SET CMP0015 NEW)
|
||||
|
||||
project(Network)
|
||||
|
||||
#Sanity checks and options
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
message( "CMAKE_BUILD_TYPE is empty, assuming build type is Release" )
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
ENDIF()
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-s") ## Strip binary
|
||||
ENDIF()
|
||||
endif()
|
||||
|
||||
#Common directories:
|
||||
###
|
||||
set(GD_base_dir ${CMAKE_CURRENT_SOURCE_DIR}/../..)
|
||||
set(GDCORE_include_dir ${GD_base_dir}/Core)
|
||||
set(GDCORE_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_include_dir ${GD_base_dir}/GDCpp)
|
||||
set(GDCpp_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_Runtime_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Runtime)
|
||||
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
set(wxwidgets_include_dir ${GD_base_dir}/ExtLibs/wxwidgets/include)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswud)
|
||||
ELSE()
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswu)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_lib_dir ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll)
|
||||
ENDIF(WIN32)
|
||||
|
||||
|
||||
include_directories(${sfml_include_dir})
|
||||
include_directories(${GDCORE_include_dir})
|
||||
include_directories(${GDCpp_include_dir})
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
include_directories(${wxwidgets_include_dir})
|
||||
ELSE()
|
||||
find_package(wxWidgets COMPONENTS core base adv net ribbon stc aui propgrid richtext html xrc REQUIRED)
|
||||
include( "${wxWidgets_USE_FILE}" )
|
||||
include_directories(${GTK_INCLUDE_DIRS})
|
||||
link_directories(${GTK_LIBRARY_DIRS})
|
||||
ENDIF(WIN32)
|
||||
IF(NOT TARGET GDCore) #Ensure that the build will work even when GDCore is not in the target list.
|
||||
link_directories(${GDCORE_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp) #Ensure that the build will work even when GDC++ is not in the target list.
|
||||
link_directories(${GDCpp_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp_Runtime)
|
||||
add_library(GDCpp_Runtime SHARED IMPORTED)
|
||||
IF(WIN32)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/GDCpp.dll)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.dll.a)
|
||||
ELSE()
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/libGDCpp.so)
|
||||
#set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.so.a)
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gd_add_extension_includes()
|
||||
|
||||
#Defines
|
||||
###
|
||||
set(Network_extra_definitions "${Network_extra_definitions} GD_IDE_ONLY=1;")
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
add_definitions( -DDEBUG )
|
||||
IF(WIN32)
|
||||
add_definitions( __WXDEBUG__ )
|
||||
ENDIF(WIN32)
|
||||
ELSEIF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
add_definitions( -DRELEASE )
|
||||
ELSE()
|
||||
add_definitions( -DDEV )
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
IF(WIN32)
|
||||
add_definitions( -DWINDOWS )
|
||||
add_definitions( "-DGD_CORE_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_EXTENSION_API=__declspec(dllexport)" )
|
||||
|
||||
add_definitions( -D__GNUWIN32__ )
|
||||
add_definitions( -D__WXMSW__ )
|
||||
add_definitions( -DwxUSE_UNICODE=1 )
|
||||
add_definitions( -DWXUSINGDLL )
|
||||
ELSE()
|
||||
IF(APPLE)
|
||||
add_definitions( -DMACOS )
|
||||
ELSE()
|
||||
add_definitions( -DLINUX )
|
||||
ENDIF()
|
||||
add_definitions( -DGD_API= )
|
||||
add_definitions( -DGD_CORE_API= )
|
||||
add_definitions( -DGD_EXTENSION_API= )
|
||||
add_definitions(${GTK_CFLAGS_OTHER})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_add_extension_definitions(Network)
|
||||
|
||||
#The targets
|
||||
###
|
||||
include_directories(.)
|
||||
file(GLOB source_files *)
|
||||
|
||||
add_library(Network SHARED ${source_files})
|
||||
add_library(Network_Runtime SHARED ${source_files})
|
||||
set_target_properties(Network PROPERTIES COMPILE_DEFINITIONS "${Network_extra_definitions}")
|
||||
set_target_properties(Network_Runtime PROPERTIES COMPILE_DEFINITIONS "${Network_Runtime_extra_definitions}")
|
||||
set_target_properties(Network PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(Network PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(Network PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(Network_Runtime PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(Network_Runtime PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(Network_Runtime PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(Network_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "Network")
|
||||
set_target_properties(Network_Runtime PROPERTIES LIBRARY_OUTPUT_NAME "Network")
|
||||
set_target_properties(Network_Runtime PROPERTIES ARCHIVE_OUTPUT_NAME "Network")
|
||||
set_target_properties(Network PROPERTIES PREFIX "")
|
||||
set_target_properties(Network_Runtime PROPERTIES PREFIX "")
|
||||
IF(WIN32)
|
||||
set_target_properties(Network PROPERTIES SUFFIX ".xgdwe")
|
||||
set_target_properties(Network_Runtime PROPERTIES SUFFIX ".xgdw")
|
||||
ELSE()
|
||||
set_target_properties(Network PROPERTIES SUFFIX ".xgde")
|
||||
set_target_properties(Network_Runtime PROPERTIES SUFFIX ".xgd")
|
||||
ENDIF(WIN32)
|
||||
set_target_properties(Network_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "Network")
|
||||
gd_add_extension_target(Network "${source_files}")
|
||||
gdcpp_add_runtime_extension_target(Network_Runtime "${source_files}")
|
||||
|
||||
#Linker files for the IDE extension
|
||||
###
|
||||
target_link_libraries(Network GDCore)
|
||||
target_link_libraries(Network GDCpp)
|
||||
IF(WIN32)
|
||||
target_link_libraries(Network sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
target_link_libraries(Network ${wxwidgets_lib_dir}/libwxmsw30ud_xrc.a ${wxwidgets_lib_dir}/libwxmsw30ud_stc.a ${wxwidgets_lib_dir}/libwxmsw30ud_richtext.a ${wxwidgets_lib_dir}/libwxmsw30ud_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30ud_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30ud_aui.a ${wxwidgets_lib_dir}/libwxmsw30ud_adv.a ${wxwidgets_lib_dir}/libwxmsw30ud_html.a ${wxwidgets_lib_dir}/libwxmsw30ud_core.a ${wxwidgets_lib_dir}/libwxbase30ud_xml.a ${wxwidgets_lib_dir}/libwxbase30ud_net.a ${wxwidgets_lib_dir}/libwxexpatd.a ${wxwidgets_lib_dir}/libwxbase30ud.a ${wxwidgets_lib_dir}/libwxpngd.a ${wxwidgets_lib_dir}/libwxjpegd.a ${wxwidgets_lib_dir}/libwxzlibd.a ${wxwidgets_lib_dir}/libwxtiffd.a)
|
||||
ELSE()
|
||||
target_link_libraries(Network ${wxwidgets_lib_dir}/libwxmsw30u_xrc.a ${wxwidgets_lib_dir}/libwxmsw30u_stc.a ${wxwidgets_lib_dir}/libwxmsw30u_richtext.a ${wxwidgets_lib_dir}/libwxmsw30u_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30u_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30u_aui.a ${wxwidgets_lib_dir}/libwxmsw30u_adv.a ${wxwidgets_lib_dir}/libwxmsw30u_html.a ${wxwidgets_lib_dir}/libwxmsw30u_core.a ${wxwidgets_lib_dir}/libwxbase30u_xml.a ${wxwidgets_lib_dir}/libwxbase30u_net.a ${wxwidgets_lib_dir}/libwxexpat.a ${wxwidgets_lib_dir}/libwxbase30u.a ${wxwidgets_lib_dir}/libwxpng.a ${wxwidgets_lib_dir}/libwxjpeg.a ${wxwidgets_lib_dir}/libwxzlib.a ${wxwidgets_lib_dir}/libwxtiff.a)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
target_link_libraries(Network ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(Network sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(Network ${wxWidgets_LIBRARIES})
|
||||
target_link_libraries(Network ${GTK_LIBRARIES})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_extension_link_libraries(Network)
|
||||
|
||||
#Linker files for the GD C++ Runtime extension
|
||||
###
|
||||
target_link_libraries(Network_Runtime GDCpp_Runtime)
|
||||
IF(WIN32)
|
||||
target_link_libraries(Network_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(Network_Runtime ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(Network_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
ENDIF(WIN32)
|
||||
gdcpp_runtime_extension_link_libraries(Network_Runtime)
|
||||
|
@@ -2,158 +2,24 @@ cmake_minimum_required(VERSION 2.6)
|
||||
cmake_policy(SET CMP0015 NEW)
|
||||
|
||||
project(PanelSpriteObject)
|
||||
|
||||
#Sanity checks and options
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
message( "CMAKE_BUILD_TYPE is empty, assuming build type is Release" )
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
ENDIF()
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-s") ## Strip binary
|
||||
ENDIF()
|
||||
endif()
|
||||
|
||||
#Common directories:
|
||||
###
|
||||
set(GD_base_dir ${CMAKE_CURRENT_SOURCE_DIR}/../..)
|
||||
set(GDCORE_include_dir ${GD_base_dir}/Core)
|
||||
set(GDCORE_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_include_dir ${GD_base_dir}/GDCpp)
|
||||
set(GDCpp_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_Runtime_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Runtime)
|
||||
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
set(wxwidgets_include_dir ${GD_base_dir}/ExtLibs/wxwidgets/include)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswud)
|
||||
ELSE()
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswu)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_lib_dir ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll)
|
||||
ENDIF(WIN32)
|
||||
|
||||
|
||||
include_directories(${sfml_include_dir})
|
||||
include_directories(${GDCORE_include_dir})
|
||||
include_directories(${GDCpp_include_dir})
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
include_directories(${wxwidgets_include_dir})
|
||||
ELSE()
|
||||
find_package(wxWidgets COMPONENTS core base adv net ribbon stc aui propgrid richtext html xrc REQUIRED)
|
||||
include( "${wxWidgets_USE_FILE}" )
|
||||
include_directories(${GTK_INCLUDE_DIRS})
|
||||
link_directories(${GTK_LIBRARY_DIRS})
|
||||
ENDIF(WIN32)
|
||||
IF(NOT TARGET GDCore) #Ensure that the build will work even when GDCore is not in the target list.
|
||||
link_directories(${GDCORE_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp) #Ensure that the build will work even when GDC++ is not in the target list.
|
||||
link_directories(${GDCpp_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp_Runtime)
|
||||
add_library(GDCpp_Runtime SHARED IMPORTED)
|
||||
IF(WIN32)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/GDCpp.dll)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.dll.a)
|
||||
ELSE()
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/libGDCpp.so)
|
||||
#set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.so.a)
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gd_add_extension_includes()
|
||||
|
||||
#Defines
|
||||
###
|
||||
set(PanelSpriteObject_extra_definitions "${PanelSpriteObject_extra_definitions} GD_IDE_ONLY=1;")
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
add_definitions( -DDEBUG )
|
||||
IF(WIN32)
|
||||
add_definitions( __WXDEBUG__ )
|
||||
ENDIF(WIN32)
|
||||
ELSEIF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
add_definitions( -DRELEASE )
|
||||
ELSE()
|
||||
add_definitions( -DDEV )
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
IF(WIN32)
|
||||
add_definitions( -DWINDOWS )
|
||||
add_definitions( "-DGD_CORE_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_EXTENSION_API=__declspec(dllexport)" )
|
||||
|
||||
add_definitions( -D__GNUWIN32__ )
|
||||
add_definitions( -D__WXMSW__ )
|
||||
add_definitions( -DwxUSE_UNICODE=1 )
|
||||
add_definitions( -DWXUSINGDLL )
|
||||
ELSE()
|
||||
IF(APPLE)
|
||||
add_definitions( -DMACOS )
|
||||
ELSE()
|
||||
add_definitions( -DLINUX )
|
||||
ENDIF()
|
||||
add_definitions( -DGD_API= )
|
||||
add_definitions( -DGD_CORE_API= )
|
||||
add_definitions( -DGD_EXTENSION_API= )
|
||||
add_definitions(${GTK_CFLAGS_OTHER})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_add_extension_definitions(PanelSpriteObject)
|
||||
|
||||
#The targets
|
||||
###
|
||||
include_directories(.)
|
||||
file(GLOB source_files *)
|
||||
|
||||
add_library(PanelSpriteObject SHARED ${source_files})
|
||||
add_library(PanelSpriteObject_Runtime SHARED ${source_files})
|
||||
set_target_properties(PanelSpriteObject PROPERTIES COMPILE_DEFINITIONS "${PanelSpriteObject_extra_definitions}")
|
||||
set_target_properties(PanelSpriteObject_Runtime PROPERTIES COMPILE_DEFINITIONS "${PanelSpriteObject_Runtime_extra_definitions}")
|
||||
set_target_properties(PanelSpriteObject PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(PanelSpriteObject PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(PanelSpriteObject PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(PanelSpriteObject_Runtime PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(PanelSpriteObject_Runtime PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(PanelSpriteObject_Runtime PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(PanelSpriteObject_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "PanelSpriteObject")
|
||||
set_target_properties(PanelSpriteObject_Runtime PROPERTIES LIBRARY_OUTPUT_NAME "PanelSpriteObject")
|
||||
set_target_properties(PanelSpriteObject_Runtime PROPERTIES ARCHIVE_OUTPUT_NAME "PanelSpriteObject")
|
||||
set_target_properties(PanelSpriteObject PROPERTIES PREFIX "")
|
||||
set_target_properties(PanelSpriteObject_Runtime PROPERTIES PREFIX "")
|
||||
IF(WIN32)
|
||||
set_target_properties(PanelSpriteObject PROPERTIES SUFFIX ".xgdwe")
|
||||
set_target_properties(PanelSpriteObject_Runtime PROPERTIES SUFFIX ".xgdw")
|
||||
ELSE()
|
||||
set_target_properties(PanelSpriteObject PROPERTIES SUFFIX ".xgde")
|
||||
set_target_properties(PanelSpriteObject_Runtime PROPERTIES SUFFIX ".xgd")
|
||||
ENDIF(WIN32)
|
||||
set_target_properties(PanelSpriteObject_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "PanelSpriteObject")
|
||||
gd_add_extension_target(PanelSpriteObject "${source_files}")
|
||||
gdcpp_add_runtime_extension_target(PanelSpriteObject_Runtime "${source_files}")
|
||||
|
||||
#Linker files for the IDE extension
|
||||
###
|
||||
target_link_libraries(PanelSpriteObject GDCore)
|
||||
target_link_libraries(PanelSpriteObject GDCpp)
|
||||
IF(WIN32)
|
||||
target_link_libraries(PanelSpriteObject sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
target_link_libraries(PanelSpriteObject ${wxwidgets_lib_dir}/libwxmsw30ud_xrc.a ${wxwidgets_lib_dir}/libwxmsw30ud_stc.a ${wxwidgets_lib_dir}/libwxmsw30ud_richtext.a ${wxwidgets_lib_dir}/libwxmsw30ud_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30ud_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30ud_aui.a ${wxwidgets_lib_dir}/libwxmsw30ud_adv.a ${wxwidgets_lib_dir}/libwxmsw30ud_html.a ${wxwidgets_lib_dir}/libwxmsw30ud_core.a ${wxwidgets_lib_dir}/libwxbase30ud_xml.a ${wxwidgets_lib_dir}/libwxbase30ud_net.a ${wxwidgets_lib_dir}/libwxexpatd.a ${wxwidgets_lib_dir}/libwxbase30ud.a ${wxwidgets_lib_dir}/libwxpngd.a ${wxwidgets_lib_dir}/libwxjpegd.a ${wxwidgets_lib_dir}/libwxzlibd.a ${wxwidgets_lib_dir}/libwxtiffd.a)
|
||||
ELSE()
|
||||
target_link_libraries(PanelSpriteObject ${wxwidgets_lib_dir}/libwxmsw30u_xrc.a ${wxwidgets_lib_dir}/libwxmsw30u_stc.a ${wxwidgets_lib_dir}/libwxmsw30u_richtext.a ${wxwidgets_lib_dir}/libwxmsw30u_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30u_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30u_aui.a ${wxwidgets_lib_dir}/libwxmsw30u_adv.a ${wxwidgets_lib_dir}/libwxmsw30u_html.a ${wxwidgets_lib_dir}/libwxmsw30u_core.a ${wxwidgets_lib_dir}/libwxbase30u_xml.a ${wxwidgets_lib_dir}/libwxbase30u_net.a ${wxwidgets_lib_dir}/libwxexpat.a ${wxwidgets_lib_dir}/libwxbase30u.a ${wxwidgets_lib_dir}/libwxpng.a ${wxwidgets_lib_dir}/libwxjpeg.a ${wxwidgets_lib_dir}/libwxzlib.a ${wxwidgets_lib_dir}/libwxtiff.a)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
target_link_libraries(PanelSpriteObject ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(PanelSpriteObject sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(PanelSpriteObject ${wxWidgets_LIBRARIES})
|
||||
target_link_libraries(PanelSpriteObject ${GTK_LIBRARIES})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_extension_link_libraries(PanelSpriteObject)
|
||||
|
||||
#Linker files for the GD C++ Runtime extension
|
||||
###
|
||||
target_link_libraries(PanelSpriteObject_Runtime GDCpp_Runtime)
|
||||
IF(WIN32)
|
||||
target_link_libraries(PanelSpriteObject_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(PanelSpriteObject_Runtime ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(PanelSpriteObject_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
ENDIF(WIN32)
|
||||
gdcpp_runtime_extension_link_libraries(PanelSpriteObject_Runtime)
|
||||
|
@@ -3,158 +3,25 @@ cmake_policy(SET CMP0015 NEW)
|
||||
|
||||
project(ParticleSystem)
|
||||
|
||||
#Sanity checks and options
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
message( "CMAKE_BUILD_TYPE is empty, assuming build type is Release" )
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
ENDIF()
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-s") ## Strip binary
|
||||
ENDIF()
|
||||
endif()
|
||||
|
||||
#Common directories:
|
||||
###
|
||||
set(GD_base_dir ${CMAKE_CURRENT_SOURCE_DIR}/../..)
|
||||
set(GDCORE_include_dir ${GD_base_dir}/Core)
|
||||
set(GDCORE_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_include_dir ${GD_base_dir}/GDCpp)
|
||||
set(GDCpp_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_Runtime_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Runtime)
|
||||
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
set(wxwidgets_include_dir ${GD_base_dir}/ExtLibs/wxwidgets/include)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswud)
|
||||
ELSE()
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswu)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_lib_dir ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll)
|
||||
ENDIF(WIN32)
|
||||
|
||||
|
||||
include_directories(${sfml_include_dir})
|
||||
include_directories(${GDCORE_include_dir})
|
||||
include_directories(${GDCpp_include_dir})
|
||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/SPARK/include)
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
include_directories(${wxwidgets_include_dir})
|
||||
ELSE()
|
||||
find_package(wxWidgets COMPONENTS core base adv net ribbon stc aui propgrid richtext html xrc REQUIRED)
|
||||
include( "${wxWidgets_USE_FILE}" )
|
||||
include_directories(${GTK_INCLUDE_DIRS})
|
||||
link_directories(${GTK_LIBRARY_DIRS})
|
||||
ENDIF(WIN32)
|
||||
IF(NOT TARGET GDCore) #Ensure that the build will work even when GDCore is not in the target list.
|
||||
link_directories(${GDCORE_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp) #Ensure that the build will work even when GDC++ is not in the target list.
|
||||
link_directories(${GDCpp_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp_Runtime)
|
||||
add_library(GDCpp_Runtime SHARED IMPORTED)
|
||||
IF(WIN32)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/GDCpp.dll)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.dll.a)
|
||||
ELSE()
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/libGDCpp.so)
|
||||
#set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.so.a)
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gd_add_extension_includes()
|
||||
|
||||
#Defines
|
||||
###
|
||||
set(ParticleSystem_extra_definitions "${ParticleSystem_extra_definitions} GD_IDE_ONLY=1;")
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
add_definitions( -DDEBUG )
|
||||
IF(WIN32)
|
||||
add_definitions( __WXDEBUG__ )
|
||||
ENDIF(WIN32)
|
||||
ELSEIF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
add_definitions( -DRELEASE )
|
||||
ELSE()
|
||||
add_definitions( -DDEV )
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
IF(WIN32)
|
||||
add_definitions( -DWINDOWS )
|
||||
add_definitions( "-DGD_CORE_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_EXTENSION_API=__declspec(dllexport)" )
|
||||
|
||||
add_definitions( -D__GNUWIN32__ )
|
||||
add_definitions( -D__WXMSW__ )
|
||||
add_definitions( -DwxUSE_UNICODE=1 )
|
||||
add_definitions( -DWXUSINGDLL )
|
||||
ELSE()
|
||||
IF(APPLE)
|
||||
add_definitions( -DMACOS )
|
||||
ELSE()
|
||||
add_definitions( -DLINUX )
|
||||
ENDIF()
|
||||
add_definitions( -DGD_API= )
|
||||
add_definitions( -DGD_CORE_API= )
|
||||
add_definitions( -DGD_EXTENSION_API= )
|
||||
add_definitions(${GTK_CFLAGS_OTHER})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_add_extension_definitions(ParticleSystem)
|
||||
|
||||
#The targets
|
||||
###
|
||||
include_directories(./SPARK/include)
|
||||
include_directories(.)
|
||||
file(GLOB source_files * "SPARK/src/SPK_All.cpp" "SPARK/src/SPK_GL_All.cpp") #Also compiles the SPARK particle engine files.
|
||||
|
||||
add_library(ParticleSystem SHARED ${source_files})
|
||||
add_library(ParticleSystem_Runtime SHARED ${source_files})
|
||||
set_target_properties(ParticleSystem PROPERTIES COMPILE_DEFINITIONS "${ParticleSystem_extra_definitions}")
|
||||
set_target_properties(ParticleSystem_Runtime PROPERTIES COMPILE_DEFINITIONS "${ParticleSystem_Runtime_extra_definitions}")
|
||||
set_target_properties(ParticleSystem PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(ParticleSystem PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(ParticleSystem PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(ParticleSystem_Runtime PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(ParticleSystem_Runtime PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(ParticleSystem_Runtime PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(ParticleSystem_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "ParticleSystem")
|
||||
set_target_properties(ParticleSystem_Runtime PROPERTIES LIBRARY_OUTPUT_NAME "ParticleSystem")
|
||||
set_target_properties(ParticleSystem_Runtime PROPERTIES ARCHIVE_OUTPUT_NAME "ParticleSystem")
|
||||
set_target_properties(ParticleSystem PROPERTIES PREFIX "")
|
||||
set_target_properties(ParticleSystem_Runtime PROPERTIES PREFIX "")
|
||||
IF(WIN32)
|
||||
set_target_properties(ParticleSystem PROPERTIES SUFFIX ".xgdwe")
|
||||
set_target_properties(ParticleSystem_Runtime PROPERTIES SUFFIX ".xgdw")
|
||||
ELSE()
|
||||
set_target_properties(ParticleSystem PROPERTIES SUFFIX ".xgde")
|
||||
set_target_properties(ParticleSystem_Runtime PROPERTIES SUFFIX ".xgd")
|
||||
ENDIF(WIN32)
|
||||
set_target_properties(ParticleSystem_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "ParticleSystem")
|
||||
gd_add_extension_target(ParticleSystem "${source_files}")
|
||||
gdcpp_add_runtime_extension_target(ParticleSystem_Runtime "${source_files}")
|
||||
|
||||
#Linker files for the IDE extension
|
||||
###
|
||||
target_link_libraries(ParticleSystem GDCore)
|
||||
target_link_libraries(ParticleSystem GDCpp)
|
||||
IF(WIN32)
|
||||
target_link_libraries(ParticleSystem sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
target_link_libraries(ParticleSystem ${wxwidgets_lib_dir}/libwxmsw30ud_xrc.a ${wxwidgets_lib_dir}/libwxmsw30ud_stc.a ${wxwidgets_lib_dir}/libwxmsw30ud_richtext.a ${wxwidgets_lib_dir}/libwxmsw30ud_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30ud_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30ud_aui.a ${wxwidgets_lib_dir}/libwxmsw30ud_adv.a ${wxwidgets_lib_dir}/libwxmsw30ud_html.a ${wxwidgets_lib_dir}/libwxmsw30ud_core.a ${wxwidgets_lib_dir}/libwxbase30ud_xml.a ${wxwidgets_lib_dir}/libwxbase30ud_net.a ${wxwidgets_lib_dir}/libwxexpatd.a ${wxwidgets_lib_dir}/libwxbase30ud.a ${wxwidgets_lib_dir}/libwxpngd.a ${wxwidgets_lib_dir}/libwxjpegd.a ${wxwidgets_lib_dir}/libwxzlibd.a ${wxwidgets_lib_dir}/libwxtiffd.a)
|
||||
ELSE()
|
||||
target_link_libraries(ParticleSystem ${wxwidgets_lib_dir}/libwxmsw30u_xrc.a ${wxwidgets_lib_dir}/libwxmsw30u_stc.a ${wxwidgets_lib_dir}/libwxmsw30u_richtext.a ${wxwidgets_lib_dir}/libwxmsw30u_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30u_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30u_aui.a ${wxwidgets_lib_dir}/libwxmsw30u_adv.a ${wxwidgets_lib_dir}/libwxmsw30u_html.a ${wxwidgets_lib_dir}/libwxmsw30u_core.a ${wxwidgets_lib_dir}/libwxbase30u_xml.a ${wxwidgets_lib_dir}/libwxbase30u_net.a ${wxwidgets_lib_dir}/libwxexpat.a ${wxwidgets_lib_dir}/libwxbase30u.a ${wxwidgets_lib_dir}/libwxpng.a ${wxwidgets_lib_dir}/libwxjpeg.a ${wxwidgets_lib_dir}/libwxzlib.a ${wxwidgets_lib_dir}/libwxtiff.a)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
target_link_libraries(ParticleSystem ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(ParticleSystem sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(ParticleSystem ${wxWidgets_LIBRARIES})
|
||||
target_link_libraries(ParticleSystem ${GTK_LIBRARIES})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_extension_link_libraries(ParticleSystem)
|
||||
|
||||
#Linker files for the GD C++ Runtime extension
|
||||
###
|
||||
target_link_libraries(ParticleSystem_Runtime GDCpp_Runtime)
|
||||
IF(WIN32)
|
||||
target_link_libraries(ParticleSystem_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(ParticleSystem_Runtime ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(ParticleSystem_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
ENDIF(WIN32)
|
||||
gdcpp_runtime_extension_link_libraries(ParticleSystem_Runtime)
|
||||
|
@@ -2,158 +2,24 @@ cmake_minimum_required(VERSION 2.6)
|
||||
cmake_policy(SET CMP0015 NEW)
|
||||
|
||||
project(PathAutomatism)
|
||||
|
||||
#Sanity checks and options
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
message( "CMAKE_BUILD_TYPE is empty, assuming build type is Release" )
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
ENDIF()
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-s") ## Strip binary
|
||||
ENDIF()
|
||||
endif()
|
||||
|
||||
#Common directories:
|
||||
###
|
||||
set(GD_base_dir ${CMAKE_CURRENT_SOURCE_DIR}/../..)
|
||||
set(GDCORE_include_dir ${GD_base_dir}/Core)
|
||||
set(GDCORE_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_include_dir ${GD_base_dir}/GDCpp)
|
||||
set(GDCpp_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_Runtime_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Runtime)
|
||||
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
set(wxwidgets_include_dir ${GD_base_dir}/ExtLibs/wxwidgets/include)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswud)
|
||||
ELSE()
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswu)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_lib_dir ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll)
|
||||
ENDIF(WIN32)
|
||||
|
||||
|
||||
include_directories(${sfml_include_dir})
|
||||
include_directories(${GDCORE_include_dir})
|
||||
include_directories(${GDCpp_include_dir})
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
include_directories(${wxwidgets_include_dir})
|
||||
ELSE()
|
||||
find_package(wxWidgets COMPONENTS core base adv net ribbon stc aui propgrid richtext html xrc REQUIRED)
|
||||
include( "${wxWidgets_USE_FILE}" )
|
||||
include_directories(${GTK_INCLUDE_DIRS})
|
||||
link_directories(${GTK_LIBRARY_DIRS})
|
||||
ENDIF(WIN32)
|
||||
IF(NOT TARGET GDCore) #Ensure that the build will work even when GDCore is not in the target list.
|
||||
link_directories(${GDCORE_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp) #Ensure that the build will work even when GDC++ is not in the target list.
|
||||
link_directories(${GDCpp_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp_Runtime)
|
||||
add_library(GDCpp_Runtime SHARED IMPORTED)
|
||||
IF(WIN32)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/GDCpp.dll)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.dll.a)
|
||||
ELSE()
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/libGDCpp.so)
|
||||
#set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.so.a)
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gd_add_extension_includes()
|
||||
|
||||
#Defines
|
||||
###
|
||||
set(PathAutomatism_extra_definitions "${PathAutomatism_extra_definitions} GD_IDE_ONLY=1;")
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
add_definitions( -DDEBUG )
|
||||
IF(WIN32)
|
||||
add_definitions( __WXDEBUG__ )
|
||||
ENDIF(WIN32)
|
||||
ELSEIF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
add_definitions( -DRELEASE )
|
||||
ELSE()
|
||||
add_definitions( -DDEV )
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
IF(WIN32)
|
||||
add_definitions( -DWINDOWS )
|
||||
add_definitions( "-DGD_CORE_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_EXTENSION_API=__declspec(dllexport)" )
|
||||
|
||||
add_definitions( -D__GNUWIN32__ )
|
||||
add_definitions( -D__WXMSW__ )
|
||||
add_definitions( -DwxUSE_UNICODE=1 )
|
||||
add_definitions( -DWXUSINGDLL )
|
||||
ELSE()
|
||||
IF(APPLE)
|
||||
add_definitions( -DMACOS )
|
||||
ELSE()
|
||||
add_definitions( -DLINUX )
|
||||
ENDIF()
|
||||
add_definitions( -DGD_API= )
|
||||
add_definitions( -DGD_CORE_API= )
|
||||
add_definitions( -DGD_EXTENSION_API= )
|
||||
add_definitions(${GTK_CFLAGS_OTHER})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_add_extension_definitions(PathAutomatism)
|
||||
|
||||
#The targets
|
||||
###
|
||||
include_directories(.)
|
||||
file(GLOB source_files *)
|
||||
|
||||
add_library(PathAutomatism SHARED ${source_files})
|
||||
add_library(PathAutomatism_Runtime SHARED ${source_files})
|
||||
set_target_properties(PathAutomatism PROPERTIES COMPILE_DEFINITIONS "${PathAutomatism_extra_definitions}")
|
||||
set_target_properties(PathAutomatism_Runtime PROPERTIES COMPILE_DEFINITIONS "${PathAutomatism_Runtime_extra_definitions}")
|
||||
set_target_properties(PathAutomatism PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(PathAutomatism PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(PathAutomatism PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(PathAutomatism_Runtime PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(PathAutomatism_Runtime PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(PathAutomatism_Runtime PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(PathAutomatism_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "PathAutomatism")
|
||||
set_target_properties(PathAutomatism_Runtime PROPERTIES LIBRARY_OUTPUT_NAME "PathAutomatism")
|
||||
set_target_properties(PathAutomatism_Runtime PROPERTIES ARCHIVE_OUTPUT_NAME "PathAutomatism")
|
||||
set_target_properties(PathAutomatism PROPERTIES PREFIX "")
|
||||
set_target_properties(PathAutomatism_Runtime PROPERTIES PREFIX "")
|
||||
IF(WIN32)
|
||||
set_target_properties(PathAutomatism PROPERTIES SUFFIX ".xgdwe")
|
||||
set_target_properties(PathAutomatism_Runtime PROPERTIES SUFFIX ".xgdw")
|
||||
ELSE()
|
||||
set_target_properties(PathAutomatism PROPERTIES SUFFIX ".xgde")
|
||||
set_target_properties(PathAutomatism_Runtime PROPERTIES SUFFIX ".xgd")
|
||||
ENDIF(WIN32)
|
||||
set_target_properties(PathAutomatism_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "PathAutomatism")
|
||||
gd_add_extension_target(PathAutomatism "${source_files}")
|
||||
gdcpp_add_runtime_extension_target(PathAutomatism_Runtime "${source_files}")
|
||||
|
||||
#Linker files for the IDE extension
|
||||
###
|
||||
target_link_libraries(PathAutomatism GDCore)
|
||||
target_link_libraries(PathAutomatism GDCpp)
|
||||
IF(WIN32)
|
||||
target_link_libraries(PathAutomatism sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
target_link_libraries(PathAutomatism ${wxwidgets_lib_dir}/libwxmsw30ud_xrc.a ${wxwidgets_lib_dir}/libwxmsw30ud_stc.a ${wxwidgets_lib_dir}/libwxmsw30ud_richtext.a ${wxwidgets_lib_dir}/libwxmsw30ud_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30ud_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30ud_aui.a ${wxwidgets_lib_dir}/libwxmsw30ud_adv.a ${wxwidgets_lib_dir}/libwxmsw30ud_html.a ${wxwidgets_lib_dir}/libwxmsw30ud_core.a ${wxwidgets_lib_dir}/libwxbase30ud_xml.a ${wxwidgets_lib_dir}/libwxbase30ud_net.a ${wxwidgets_lib_dir}/libwxexpatd.a ${wxwidgets_lib_dir}/libwxbase30ud.a ${wxwidgets_lib_dir}/libwxpngd.a ${wxwidgets_lib_dir}/libwxjpegd.a ${wxwidgets_lib_dir}/libwxzlibd.a ${wxwidgets_lib_dir}/libwxtiffd.a)
|
||||
ELSE()
|
||||
target_link_libraries(PathAutomatism ${wxwidgets_lib_dir}/libwxmsw30u_xrc.a ${wxwidgets_lib_dir}/libwxmsw30u_stc.a ${wxwidgets_lib_dir}/libwxmsw30u_richtext.a ${wxwidgets_lib_dir}/libwxmsw30u_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30u_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30u_aui.a ${wxwidgets_lib_dir}/libwxmsw30u_adv.a ${wxwidgets_lib_dir}/libwxmsw30u_html.a ${wxwidgets_lib_dir}/libwxmsw30u_core.a ${wxwidgets_lib_dir}/libwxbase30u_xml.a ${wxwidgets_lib_dir}/libwxbase30u_net.a ${wxwidgets_lib_dir}/libwxexpat.a ${wxwidgets_lib_dir}/libwxbase30u.a ${wxwidgets_lib_dir}/libwxpng.a ${wxwidgets_lib_dir}/libwxjpeg.a ${wxwidgets_lib_dir}/libwxzlib.a ${wxwidgets_lib_dir}/libwxtiff.a)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
target_link_libraries(PathAutomatism ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(PathAutomatism sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(PathAutomatism ${wxWidgets_LIBRARIES})
|
||||
target_link_libraries(PathAutomatism ${GTK_LIBRARIES})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_extension_link_libraries(PathAutomatism)
|
||||
|
||||
#Linker files for the GD C++ Runtime extension
|
||||
###
|
||||
target_link_libraries(PathAutomatism_Runtime GDCpp_Runtime)
|
||||
IF(WIN32)
|
||||
target_link_libraries(PathAutomatism_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(PathAutomatism_Runtime ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(PathAutomatism_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
ENDIF(WIN32)
|
||||
gdcpp_runtime_extension_link_libraries(PathAutomatism_Runtime)
|
||||
|
@@ -2,158 +2,24 @@ cmake_minimum_required(VERSION 2.6)
|
||||
cmake_policy(SET CMP0015 NEW)
|
||||
|
||||
project(PathfindingAutomatism)
|
||||
|
||||
#Sanity checks and options
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
message( "CMAKE_BUILD_TYPE is empty, assuming build type is Release" )
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
ENDIF()
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-s") ## Strip binary
|
||||
ENDIF()
|
||||
endif()
|
||||
|
||||
#Common directories:
|
||||
###
|
||||
set(GD_base_dir ${CMAKE_CURRENT_SOURCE_DIR}/../..)
|
||||
set(GDCORE_include_dir ${GD_base_dir}/Core)
|
||||
set(GDCORE_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_include_dir ${GD_base_dir}/GDCpp)
|
||||
set(GDCpp_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_Runtime_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Runtime)
|
||||
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
set(wxwidgets_include_dir ${GD_base_dir}/ExtLibs/wxwidgets/include)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswud)
|
||||
ELSE()
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswu)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_lib_dir ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll)
|
||||
ENDIF(WIN32)
|
||||
|
||||
|
||||
include_directories(${sfml_include_dir})
|
||||
include_directories(${GDCORE_include_dir})
|
||||
include_directories(${GDCpp_include_dir})
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
include_directories(${wxwidgets_include_dir})
|
||||
ELSE()
|
||||
find_package(wxWidgets COMPONENTS core base adv net ribbon stc aui propgrid richtext html xrc REQUIRED)
|
||||
include( "${wxWidgets_USE_FILE}" )
|
||||
include_directories(${GTK_INCLUDE_DIRS})
|
||||
link_directories(${GTK_LIBRARY_DIRS})
|
||||
ENDIF(WIN32)
|
||||
IF(NOT TARGET GDCore) #Ensure that the build will work even when GDCore is not in the target list.
|
||||
link_directories(${GDCORE_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp) #Ensure that the build will work even when GDC++ is not in the target list.
|
||||
link_directories(${GDCpp_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp_Runtime)
|
||||
add_library(GDCpp_Runtime SHARED IMPORTED)
|
||||
IF(WIN32)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/GDCpp.dll)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.dll.a)
|
||||
ELSE()
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/libGDCpp.so)
|
||||
#set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.so.a)
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gd_add_extension_includes()
|
||||
|
||||
#Defines
|
||||
###
|
||||
set(PathfindingAutomatism_extra_definitions "${PathfindingAutomatism_extra_definitions} GD_IDE_ONLY=1;")
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
add_definitions( -DDEBUG )
|
||||
IF(WIN32)
|
||||
add_definitions( __WXDEBUG__ )
|
||||
ENDIF(WIN32)
|
||||
ELSEIF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
add_definitions( -DRELEASE )
|
||||
ELSE()
|
||||
add_definitions( -DDEV )
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
IF(WIN32)
|
||||
add_definitions( -DWINDOWS )
|
||||
add_definitions( "-DGD_CORE_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_EXTENSION_API=__declspec(dllexport)" )
|
||||
|
||||
add_definitions( -D__GNUWIN32__ )
|
||||
add_definitions( -D__WXMSW__ )
|
||||
add_definitions( -DwxUSE_UNICODE=1 )
|
||||
add_definitions( -DWXUSINGDLL )
|
||||
ELSE()
|
||||
IF(APPLE)
|
||||
add_definitions( -DMACOS )
|
||||
ELSE()
|
||||
add_definitions( -DLINUX )
|
||||
ENDIF()
|
||||
add_definitions( -DGD_API= )
|
||||
add_definitions( -DGD_CORE_API= )
|
||||
add_definitions( -DGD_EXTENSION_API= )
|
||||
add_definitions(${GTK_CFLAGS_OTHER})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_add_extension_definitions(PathfindingAutomatism)
|
||||
|
||||
#The targets
|
||||
###
|
||||
include_directories(.)
|
||||
file(GLOB source_files *)
|
||||
|
||||
add_library(PathfindingAutomatism SHARED ${source_files})
|
||||
add_library(PathfindingAutomatism_Runtime SHARED ${source_files})
|
||||
set_target_properties(PathfindingAutomatism PROPERTIES COMPILE_DEFINITIONS "${PathfindingAutomatism_extra_definitions}")
|
||||
set_target_properties(PathfindingAutomatism_Runtime PROPERTIES COMPILE_DEFINITIONS "${PathfindingAutomatism_Runtime_extra_definitions}")
|
||||
set_target_properties(PathfindingAutomatism PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(PathfindingAutomatism PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(PathfindingAutomatism PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(PathfindingAutomatism_Runtime PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(PathfindingAutomatism_Runtime PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(PathfindingAutomatism_Runtime PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(PathfindingAutomatism_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "PathfindingAutomatism")
|
||||
set_target_properties(PathfindingAutomatism_Runtime PROPERTIES LIBRARY_OUTPUT_NAME "PathfindingAutomatism")
|
||||
set_target_properties(PathfindingAutomatism_Runtime PROPERTIES ARCHIVE_OUTPUT_NAME "PathfindingAutomatism")
|
||||
set_target_properties(PathfindingAutomatism PROPERTIES PREFIX "")
|
||||
set_target_properties(PathfindingAutomatism_Runtime PROPERTIES PREFIX "")
|
||||
IF(WIN32)
|
||||
set_target_properties(PathfindingAutomatism PROPERTIES SUFFIX ".xgdwe")
|
||||
set_target_properties(PathfindingAutomatism_Runtime PROPERTIES SUFFIX ".xgdw")
|
||||
ELSE()
|
||||
set_target_properties(PathfindingAutomatism PROPERTIES SUFFIX ".xgde")
|
||||
set_target_properties(PathfindingAutomatism_Runtime PROPERTIES SUFFIX ".xgd")
|
||||
ENDIF(WIN32)
|
||||
set_target_properties(PathfindingAutomatism_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "PathfindingAutomatism")
|
||||
gd_add_extension_target(PathfindingAutomatism "${source_files}")
|
||||
gdcpp_add_runtime_extension_target(PathfindingAutomatism_Runtime "${source_files}")
|
||||
|
||||
#Linker files for the IDE extension
|
||||
###
|
||||
target_link_libraries(PathfindingAutomatism GDCore)
|
||||
target_link_libraries(PathfindingAutomatism GDCpp)
|
||||
IF(WIN32)
|
||||
target_link_libraries(PathfindingAutomatism sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
target_link_libraries(PathfindingAutomatism ${wxwidgets_lib_dir}/libwxmsw30ud_xrc.a ${wxwidgets_lib_dir}/libwxmsw30ud_stc.a ${wxwidgets_lib_dir}/libwxmsw30ud_richtext.a ${wxwidgets_lib_dir}/libwxmsw30ud_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30ud_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30ud_aui.a ${wxwidgets_lib_dir}/libwxmsw30ud_adv.a ${wxwidgets_lib_dir}/libwxmsw30ud_html.a ${wxwidgets_lib_dir}/libwxmsw30ud_core.a ${wxwidgets_lib_dir}/libwxbase30ud_xml.a ${wxwidgets_lib_dir}/libwxbase30ud_net.a ${wxwidgets_lib_dir}/libwxexpatd.a ${wxwidgets_lib_dir}/libwxbase30ud.a ${wxwidgets_lib_dir}/libwxpngd.a ${wxwidgets_lib_dir}/libwxjpegd.a ${wxwidgets_lib_dir}/libwxzlibd.a ${wxwidgets_lib_dir}/libwxtiffd.a)
|
||||
ELSE()
|
||||
target_link_libraries(PathfindingAutomatism ${wxwidgets_lib_dir}/libwxmsw30u_xrc.a ${wxwidgets_lib_dir}/libwxmsw30u_stc.a ${wxwidgets_lib_dir}/libwxmsw30u_richtext.a ${wxwidgets_lib_dir}/libwxmsw30u_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30u_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30u_aui.a ${wxwidgets_lib_dir}/libwxmsw30u_adv.a ${wxwidgets_lib_dir}/libwxmsw30u_html.a ${wxwidgets_lib_dir}/libwxmsw30u_core.a ${wxwidgets_lib_dir}/libwxbase30u_xml.a ${wxwidgets_lib_dir}/libwxbase30u_net.a ${wxwidgets_lib_dir}/libwxexpat.a ${wxwidgets_lib_dir}/libwxbase30u.a ${wxwidgets_lib_dir}/libwxpng.a ${wxwidgets_lib_dir}/libwxjpeg.a ${wxwidgets_lib_dir}/libwxzlib.a ${wxwidgets_lib_dir}/libwxtiff.a)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
target_link_libraries(PathfindingAutomatism ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(PathfindingAutomatism sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(PathfindingAutomatism ${wxWidgets_LIBRARIES})
|
||||
target_link_libraries(PathfindingAutomatism ${GTK_LIBRARIES})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_extension_link_libraries(PathfindingAutomatism)
|
||||
|
||||
#Linker files for the GD C++ Runtime extension
|
||||
###
|
||||
target_link_libraries(PathfindingAutomatism_Runtime GDCpp_Runtime)
|
||||
IF(WIN32)
|
||||
target_link_libraries(PathfindingAutomatism_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(PathfindingAutomatism_Runtime ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(PathfindingAutomatism_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
ENDIF(WIN32)
|
||||
gdcpp_runtime_extension_link_libraries(PathfindingAutomatism_Runtime)
|
||||
|
@@ -2,159 +2,25 @@ cmake_minimum_required(VERSION 2.6)
|
||||
cmake_policy(SET CMP0015 NEW)
|
||||
|
||||
project(PhysicsAutomatism)
|
||||
|
||||
#Sanity checks and options
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
message( "CMAKE_BUILD_TYPE is empty, assuming build type is Release" )
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
ENDIF()
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-s") ## Strip binary
|
||||
ENDIF()
|
||||
endif()
|
||||
|
||||
#Common directories:
|
||||
###
|
||||
set(GD_base_dir ${CMAKE_CURRENT_SOURCE_DIR}/../..)
|
||||
set(GDCORE_include_dir ${GD_base_dir}/Core)
|
||||
set(GDCORE_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_include_dir ${GD_base_dir}/GDCpp)
|
||||
set(GDCpp_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_Runtime_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Runtime)
|
||||
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
set(wxwidgets_include_dir ${GD_base_dir}/ExtLibs/wxwidgets/include)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswud)
|
||||
ELSE()
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswu)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_lib_dir ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll)
|
||||
ENDIF(WIN32)
|
||||
|
||||
|
||||
include_directories(${sfml_include_dir})
|
||||
include_directories(${GDCORE_include_dir})
|
||||
include_directories(${GDCpp_include_dir})
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
include_directories(${wxwidgets_include_dir})
|
||||
ELSE()
|
||||
find_package(wxWidgets COMPONENTS core base adv net ribbon stc aui propgrid richtext html xrc REQUIRED)
|
||||
include( "${wxWidgets_USE_FILE}" )
|
||||
include_directories(${GTK_INCLUDE_DIRS})
|
||||
link_directories(${GTK_LIBRARY_DIRS})
|
||||
ENDIF(WIN32)
|
||||
IF(NOT TARGET GDCore) #Ensure that the build will work even when GDCore is not in the target list.
|
||||
link_directories(${GDCORE_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp) #Ensure that the build will work even when GDC++ is not in the target list.
|
||||
link_directories(${GDCpp_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp_Runtime)
|
||||
add_library(GDCpp_Runtime SHARED IMPORTED)
|
||||
IF(WIN32)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/GDCpp.dll)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.dll.a)
|
||||
ELSE()
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/libGDCpp.so)
|
||||
#set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.so.a)
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gd_add_extension_includes()
|
||||
|
||||
#Defines
|
||||
###
|
||||
set(PhysicsAutomatism_extra_definitions "${PhysicsAutomatism_extra_definitions} GD_IDE_ONLY=1;")
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
add_definitions( -DDEBUG )
|
||||
IF(WIN32)
|
||||
add_definitions( __WXDEBUG__ )
|
||||
ENDIF(WIN32)
|
||||
ELSEIF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
add_definitions( -DRELEASE )
|
||||
ELSE()
|
||||
add_definitions( -DDEV )
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
IF(WIN32)
|
||||
add_definitions( -DWINDOWS )
|
||||
add_definitions( "-DGD_CORE_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_EXTENSION_API=__declspec(dllexport)" )
|
||||
|
||||
add_definitions( -D__GNUWIN32__ )
|
||||
add_definitions( -D__WXMSW__ )
|
||||
add_definitions( -DwxUSE_UNICODE=1 )
|
||||
add_definitions( -DWXUSINGDLL )
|
||||
ELSE()
|
||||
IF(APPLE)
|
||||
add_definitions( -DMACOS )
|
||||
ELSE()
|
||||
add_definitions( -DLINUX )
|
||||
ENDIF()
|
||||
add_definitions( -DGD_API= )
|
||||
add_definitions( -DGD_CORE_API= )
|
||||
add_definitions( -DGD_EXTENSION_API= )
|
||||
add_definitions(${GTK_CFLAGS_OTHER})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_add_extension_definitions(PhysicsAutomatism)
|
||||
|
||||
#The targets
|
||||
###
|
||||
include_directories(Box2D/Box2D)
|
||||
file(GLOB source_files * Box2D/Box2D/Box2D/* Triangulation/*)
|
||||
file(GLOB_RECURSE box2d_source_files Box2D/Box2D/Box2D/*)
|
||||
file(GLOB source_files * Box2D/Box2D/Box2D/* Triangulation/* ${box2d_source_files})
|
||||
|
||||
add_library(PhysicsAutomatism SHARED ${source_files} ${box2d_source_files})
|
||||
add_library(PhysicsAutomatism_Runtime SHARED ${source_files} ${box2d_source_files})
|
||||
set_target_properties(PhysicsAutomatism PROPERTIES COMPILE_DEFINITIONS "${PhysicsAutomatism_extra_definitions}")
|
||||
set_target_properties(PhysicsAutomatism_Runtime PROPERTIES COMPILE_DEFINITIONS "${PhysicsAutomatism_Runtime_extra_definitions}")
|
||||
set_target_properties(PhysicsAutomatism PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(PhysicsAutomatism PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(PhysicsAutomatism PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(PhysicsAutomatism_Runtime PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(PhysicsAutomatism_Runtime PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(PhysicsAutomatism_Runtime PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(PhysicsAutomatism_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "PhysicsAutomatism")
|
||||
set_target_properties(PhysicsAutomatism_Runtime PROPERTIES LIBRARY_OUTPUT_NAME "PhysicsAutomatism")
|
||||
set_target_properties(PhysicsAutomatism_Runtime PROPERTIES ARCHIVE_OUTPUT_NAME "PhysicsAutomatism")
|
||||
set_target_properties(PhysicsAutomatism PROPERTIES PREFIX "")
|
||||
set_target_properties(PhysicsAutomatism_Runtime PROPERTIES PREFIX "")
|
||||
IF(WIN32)
|
||||
set_target_properties(PhysicsAutomatism PROPERTIES SUFFIX ".xgdwe")
|
||||
set_target_properties(PhysicsAutomatism_Runtime PROPERTIES SUFFIX ".xgdw")
|
||||
ELSE()
|
||||
set_target_properties(PhysicsAutomatism PROPERTIES SUFFIX ".xgde")
|
||||
set_target_properties(PhysicsAutomatism_Runtime PROPERTIES SUFFIX ".xgd")
|
||||
ENDIF(WIN32)
|
||||
set_target_properties(PhysicsAutomatism_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "PhysicsAutomatism")
|
||||
gd_add_extension_target(PhysicsAutomatism "${source_files}")
|
||||
gdcpp_add_runtime_extension_target(PhysicsAutomatism_Runtime "${source_files}")
|
||||
|
||||
#Linker files for the IDE extension
|
||||
###
|
||||
target_link_libraries(PhysicsAutomatism GDCore)
|
||||
target_link_libraries(PhysicsAutomatism GDCpp)
|
||||
IF(WIN32)
|
||||
target_link_libraries(PhysicsAutomatism sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
target_link_libraries(PhysicsAutomatism ${wxwidgets_lib_dir}/libwxmsw30ud_xrc.a ${wxwidgets_lib_dir}/libwxmsw30ud_stc.a ${wxwidgets_lib_dir}/libwxmsw30ud_richtext.a ${wxwidgets_lib_dir}/libwxmsw30ud_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30ud_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30ud_aui.a ${wxwidgets_lib_dir}/libwxmsw30ud_adv.a ${wxwidgets_lib_dir}/libwxmsw30ud_html.a ${wxwidgets_lib_dir}/libwxmsw30ud_core.a ${wxwidgets_lib_dir}/libwxbase30ud_xml.a ${wxwidgets_lib_dir}/libwxbase30ud_net.a ${wxwidgets_lib_dir}/libwxexpatd.a ${wxwidgets_lib_dir}/libwxbase30ud.a ${wxwidgets_lib_dir}/libwxpngd.a ${wxwidgets_lib_dir}/libwxjpegd.a ${wxwidgets_lib_dir}/libwxzlibd.a ${wxwidgets_lib_dir}/libwxtiffd.a)
|
||||
ELSE()
|
||||
target_link_libraries(PhysicsAutomatism ${wxwidgets_lib_dir}/libwxmsw30u_xrc.a ${wxwidgets_lib_dir}/libwxmsw30u_stc.a ${wxwidgets_lib_dir}/libwxmsw30u_richtext.a ${wxwidgets_lib_dir}/libwxmsw30u_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30u_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30u_aui.a ${wxwidgets_lib_dir}/libwxmsw30u_adv.a ${wxwidgets_lib_dir}/libwxmsw30u_html.a ${wxwidgets_lib_dir}/libwxmsw30u_core.a ${wxwidgets_lib_dir}/libwxbase30u_xml.a ${wxwidgets_lib_dir}/libwxbase30u_net.a ${wxwidgets_lib_dir}/libwxexpat.a ${wxwidgets_lib_dir}/libwxbase30u.a ${wxwidgets_lib_dir}/libwxpng.a ${wxwidgets_lib_dir}/libwxjpeg.a ${wxwidgets_lib_dir}/libwxzlib.a ${wxwidgets_lib_dir}/libwxtiff.a)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
target_link_libraries(PhysicsAutomatism ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(PhysicsAutomatism sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(PhysicsAutomatism ${wxWidgets_LIBRARIES})
|
||||
target_link_libraries(PhysicsAutomatism ${GTK_LIBRARIES})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_extension_link_libraries(PhysicsAutomatism)
|
||||
|
||||
#Linker files for the GD C++ Runtime extension
|
||||
###
|
||||
target_link_libraries(PhysicsAutomatism_Runtime GDCpp_Runtime)
|
||||
IF(WIN32)
|
||||
target_link_libraries(PhysicsAutomatism_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(PhysicsAutomatism_Runtime ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(PhysicsAutomatism_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
ENDIF(WIN32)
|
||||
gdcpp_runtime_extension_link_libraries(PhysicsAutomatism_Runtime)
|
||||
|
@@ -2,175 +2,24 @@ cmake_minimum_required(VERSION 2.6)
|
||||
cmake_policy(SET CMP0015 NEW)
|
||||
|
||||
project(PlatformAutomatism)
|
||||
|
||||
#Sanity checks and options
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
message( "CMAKE_BUILD_TYPE is empty, assuming build type is Release" )
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
ENDIF()
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-s") ## Strip binary
|
||||
ENDIF()
|
||||
endif()
|
||||
if(EMSCRIPTEN) #When compiling for the web, ensure we get no warning when using our own external libraries.
|
||||
SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --bind -Wno-warn-absolute-paths" )
|
||||
ENDIF()
|
||||
|
||||
#Common directories:
|
||||
###
|
||||
set(GD_base_dir ${CMAKE_CURRENT_SOURCE_DIR}/../..)
|
||||
set(GDCORE_include_dir ${GD_base_dir}/Core)
|
||||
set(GDCORE_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_include_dir ${GD_base_dir}/GDCpp)
|
||||
set(GDCpp_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_Runtime_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Runtime)
|
||||
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
set(wxwidgets_include_dir ${GD_base_dir}/ExtLibs/wxwidgets/include)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswud)
|
||||
ELSE()
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswu)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_lib_dir ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll)
|
||||
ENDIF(WIN32)
|
||||
|
||||
|
||||
include_directories(${sfml_include_dir})
|
||||
include_directories(${GDCORE_include_dir})
|
||||
include_directories(${GDCpp_include_dir})
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
include_directories(${wxwidgets_include_dir})
|
||||
ELSEIF (NOT EMSCRIPTEN)
|
||||
find_package(wxWidgets COMPONENTS core base adv net ribbon stc aui propgrid richtext html xrc REQUIRED)
|
||||
include( "${wxWidgets_USE_FILE}" )
|
||||
include_directories(${GTK_INCLUDE_DIRS})
|
||||
link_directories(${GTK_LIBRARY_DIRS})
|
||||
ENDIF(WIN32)
|
||||
IF(NOT TARGET GDCore) #Ensure that the build will work even when GDCore is not in the target list.
|
||||
link_directories(${GDCORE_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp) #Ensure that the build will work even when GDC++ is not in the target list.
|
||||
link_directories(${GDCpp_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp_Runtime)
|
||||
add_library(GDCpp_Runtime SHARED IMPORTED)
|
||||
IF(WIN32)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/GDCpp.dll)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.dll.a)
|
||||
ELSE()
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/libGDCpp.so)
|
||||
#set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.so.a)
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gd_add_extension_includes()
|
||||
|
||||
#Defines
|
||||
###
|
||||
set(PlatformAutomatism_extra_definitions "${PlatformAutomatism_extra_definitions} GD_IDE_ONLY=1;")
|
||||
IF (EMSCRIPTEN) #When compiling for the web, we do not want any GUI related feature.
|
||||
add_definitions( -DGD_NO_WX_GUI )
|
||||
add_definitions( -DEMSCRIPTEN )
|
||||
ENDIF()
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
add_definitions( -DDEBUG )
|
||||
IF(WIN32)
|
||||
add_definitions( __WXDEBUG__ )
|
||||
ENDIF(WIN32)
|
||||
ELSEIF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
add_definitions( -DRELEASE )
|
||||
ELSE()
|
||||
add_definitions( -DDEV )
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
IF(WIN32)
|
||||
add_definitions( -DWINDOWS )
|
||||
add_definitions( "-DGD_CORE_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_EXTENSION_API=__declspec(dllexport)" )
|
||||
|
||||
add_definitions( -D__GNUWIN32__ )
|
||||
add_definitions( -D__WXMSW__ )
|
||||
add_definitions( -DwxUSE_UNICODE=1 )
|
||||
add_definitions( -DWXUSINGDLL )
|
||||
ELSE()
|
||||
IF(APPLE)
|
||||
add_definitions( -DMACOS )
|
||||
ELSE()
|
||||
add_definitions( -DLINUX )
|
||||
ENDIF()
|
||||
add_definitions( -DGD_API= )
|
||||
add_definitions( -DGD_CORE_API= )
|
||||
add_definitions( -DGD_EXTENSION_API= )
|
||||
add_definitions(${GTK_CFLAGS_OTHER})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_add_extension_definitions(PlatformAutomatism)
|
||||
|
||||
#The targets
|
||||
###
|
||||
include_directories(.)
|
||||
file(GLOB source_files *)
|
||||
|
||||
add_library(PlatformAutomatism SHARED ${source_files})
|
||||
set_target_properties(PlatformAutomatism PROPERTIES COMPILE_DEFINITIONS "${PlatformAutomatism_extra_definitions}")
|
||||
set_target_properties(PlatformAutomatism PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(PlatformAutomatism PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(PlatformAutomatism PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(PlatformAutomatism PROPERTIES PREFIX "")
|
||||
IF(NOT EMSCRIPTEN)
|
||||
add_library(PlatformAutomatism_Runtime SHARED ${source_files})
|
||||
set_target_properties(PlatformAutomatism_Runtime PROPERTIES COMPILE_DEFINITIONS "${PlatformAutomatism_Runtime_extra_definitions}")
|
||||
set_target_properties(PlatformAutomatism_Runtime PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(PlatformAutomatism_Runtime PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(PlatformAutomatism_Runtime PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(PlatformAutomatism_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "PlatformAutomatism")
|
||||
set_target_properties(PlatformAutomatism_Runtime PROPERTIES LIBRARY_OUTPUT_NAME "PlatformAutomatism")
|
||||
set_target_properties(PlatformAutomatism_Runtime PROPERTIES ARCHIVE_OUTPUT_NAME "PlatformAutomatism")
|
||||
set_target_properties(PlatformAutomatism_Runtime PROPERTIES PREFIX "")
|
||||
ENDIF()
|
||||
IF(WIN32)
|
||||
set_target_properties(PlatformAutomatism PROPERTIES SUFFIX ".xgdwe")
|
||||
set_target_properties(PlatformAutomatism_Runtime PROPERTIES SUFFIX ".xgdw")
|
||||
ELSEIF(EMSCRIPTEN)
|
||||
set_target_properties(PlatformAutomatism PROPERTIES SUFFIX ".bc")
|
||||
ELSE()
|
||||
set_target_properties(PlatformAutomatism PROPERTIES SUFFIX ".xgde")
|
||||
set_target_properties(PlatformAutomatism_Runtime PROPERTIES SUFFIX ".xgd")
|
||||
ENDIF(WIN32)
|
||||
gd_add_extension_target(PlatformAutomatism "${source_files}")
|
||||
gdcpp_add_runtime_extension_target(PlatformAutomatism_Runtime "${source_files}")
|
||||
|
||||
#Linker files for the IDE extension
|
||||
###
|
||||
IF(EMSCRIPTEN)
|
||||
#Nothing.
|
||||
ELSE()
|
||||
target_link_libraries(PlatformAutomatism GDCore)
|
||||
target_link_libraries(PlatformAutomatism GDCpp)
|
||||
IF(WIN32)
|
||||
target_link_libraries(PlatformAutomatism sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
target_link_libraries(PlatformAutomatism ${wxwidgets_lib_dir}/libwxmsw30ud_xrc.a ${wxwidgets_lib_dir}/libwxmsw30ud_stc.a ${wxwidgets_lib_dir}/libwxmsw30ud_richtext.a ${wxwidgets_lib_dir}/libwxmsw30ud_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30ud_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30ud_aui.a ${wxwidgets_lib_dir}/libwxmsw30ud_adv.a ${wxwidgets_lib_dir}/libwxmsw30ud_html.a ${wxwidgets_lib_dir}/libwxmsw30ud_core.a ${wxwidgets_lib_dir}/libwxbase30ud_xml.a ${wxwidgets_lib_dir}/libwxbase30ud_net.a ${wxwidgets_lib_dir}/libwxexpatd.a ${wxwidgets_lib_dir}/libwxbase30ud.a ${wxwidgets_lib_dir}/libwxpngd.a ${wxwidgets_lib_dir}/libwxjpegd.a ${wxwidgets_lib_dir}/libwxzlibd.a ${wxwidgets_lib_dir}/libwxtiffd.a)
|
||||
ELSE()
|
||||
target_link_libraries(PlatformAutomatism ${wxwidgets_lib_dir}/libwxmsw30u_xrc.a ${wxwidgets_lib_dir}/libwxmsw30u_stc.a ${wxwidgets_lib_dir}/libwxmsw30u_richtext.a ${wxwidgets_lib_dir}/libwxmsw30u_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30u_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30u_aui.a ${wxwidgets_lib_dir}/libwxmsw30u_adv.a ${wxwidgets_lib_dir}/libwxmsw30u_html.a ${wxwidgets_lib_dir}/libwxmsw30u_core.a ${wxwidgets_lib_dir}/libwxbase30u_xml.a ${wxwidgets_lib_dir}/libwxbase30u_net.a ${wxwidgets_lib_dir}/libwxexpat.a ${wxwidgets_lib_dir}/libwxbase30u.a ${wxwidgets_lib_dir}/libwxpng.a ${wxwidgets_lib_dir}/libwxjpeg.a ${wxwidgets_lib_dir}/libwxzlib.a ${wxwidgets_lib_dir}/libwxtiff.a)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
target_link_libraries(PlatformAutomatism ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(PlatformAutomatism sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(PlatformAutomatism ${wxWidgets_LIBRARIES})
|
||||
target_link_libraries(PlatformAutomatism ${GTK_LIBRARIES})
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gd_extension_link_libraries(PlatformAutomatism)
|
||||
|
||||
#Linker files for the GD C++ Runtime extension
|
||||
###
|
||||
IF(EMSCRIPTEN)
|
||||
#Nothing.
|
||||
ELSE()
|
||||
target_link_libraries(PlatformAutomatism_Runtime GDCpp_Runtime)
|
||||
IF(WIN32)
|
||||
target_link_libraries(PlatformAutomatism_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(PlatformAutomatism_Runtime ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(PlatformAutomatism_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gdcpp_runtime_extension_link_libraries(PlatformAutomatism_Runtime)
|
||||
|
@@ -2,158 +2,24 @@ cmake_minimum_required(VERSION 2.6)
|
||||
cmake_policy(SET CMP0015 NEW)
|
||||
|
||||
project(PrimitiveDrawing)
|
||||
|
||||
#Sanity checks and options
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
message( "CMAKE_BUILD_TYPE is empty, assuming build type is Release" )
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
ENDIF()
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-s") ## Strip binary
|
||||
ENDIF()
|
||||
endif()
|
||||
|
||||
#Common directories:
|
||||
###
|
||||
set(GD_base_dir ${CMAKE_CURRENT_SOURCE_DIR}/../..)
|
||||
set(GDCORE_include_dir ${GD_base_dir}/Core)
|
||||
set(GDCORE_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_include_dir ${GD_base_dir}/GDCpp)
|
||||
set(GDCpp_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_Runtime_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Runtime)
|
||||
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
set(wxwidgets_include_dir ${GD_base_dir}/ExtLibs/wxwidgets/include)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswud)
|
||||
ELSE()
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswu)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_lib_dir ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll)
|
||||
ENDIF(WIN32)
|
||||
|
||||
|
||||
include_directories(${sfml_include_dir})
|
||||
include_directories(${GDCORE_include_dir})
|
||||
include_directories(${GDCpp_include_dir})
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
include_directories(${wxwidgets_include_dir})
|
||||
ELSE()
|
||||
find_package(wxWidgets COMPONENTS core base adv net ribbon stc aui propgrid richtext html xrc REQUIRED)
|
||||
include( "${wxWidgets_USE_FILE}" )
|
||||
include_directories(${GTK_INCLUDE_DIRS})
|
||||
link_directories(${GTK_LIBRARY_DIRS})
|
||||
ENDIF(WIN32)
|
||||
IF(NOT TARGET GDCore) #Ensure that the build will work even when GDCore is not in the target list.
|
||||
link_directories(${GDCORE_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp) #Ensure that the build will work even when GDC++ is not in the target list.
|
||||
link_directories(${GDCpp_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp_Runtime)
|
||||
add_library(GDCpp_Runtime SHARED IMPORTED)
|
||||
IF(WIN32)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/GDCpp.dll)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.dll.a)
|
||||
ELSE()
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/libGDCpp.so)
|
||||
#set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.so.a)
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gd_add_extension_includes()
|
||||
|
||||
#Defines
|
||||
###
|
||||
set(PrimitiveDrawing_extra_definitions "${PrimitiveDrawing_extra_definitions} GD_IDE_ONLY=1;")
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
add_definitions( -DDEBUG )
|
||||
IF(WIN32)
|
||||
add_definitions( __WXDEBUG__ )
|
||||
ENDIF(WIN32)
|
||||
ELSEIF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
add_definitions( -DRELEASE )
|
||||
ELSE()
|
||||
add_definitions( -DDEV )
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
IF(WIN32)
|
||||
add_definitions( -DWINDOWS )
|
||||
add_definitions( "-DGD_CORE_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_EXTENSION_API=__declspec(dllexport)" )
|
||||
|
||||
add_definitions( -D__GNUWIN32__ )
|
||||
add_definitions( -D__WXMSW__ )
|
||||
add_definitions( -DwxUSE_UNICODE=1 )
|
||||
add_definitions( -DWXUSINGDLL )
|
||||
ELSE()
|
||||
IF(APPLE)
|
||||
add_definitions( -DMACOS )
|
||||
ELSE()
|
||||
add_definitions( -DLINUX )
|
||||
ENDIF()
|
||||
add_definitions( -DGD_API= )
|
||||
add_definitions( -DGD_CORE_API= )
|
||||
add_definitions( -DGD_EXTENSION_API= )
|
||||
add_definitions(${GTK_CFLAGS_OTHER})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_add_extension_definitions(PrimitiveDrawing)
|
||||
|
||||
#The targets
|
||||
###
|
||||
include_directories(.)
|
||||
file(GLOB source_files *)
|
||||
|
||||
add_library(PrimitiveDrawing SHARED ${source_files})
|
||||
add_library(PrimitiveDrawing_Runtime SHARED ${source_files})
|
||||
set_target_properties(PrimitiveDrawing PROPERTIES COMPILE_DEFINITIONS "${PrimitiveDrawing_extra_definitions}")
|
||||
set_target_properties(PrimitiveDrawing_Runtime PROPERTIES COMPILE_DEFINITIONS "${PrimitiveDrawing_Runtime_extra_definitions}")
|
||||
set_target_properties(PrimitiveDrawing PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(PrimitiveDrawing PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(PrimitiveDrawing PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(PrimitiveDrawing_Runtime PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(PrimitiveDrawing_Runtime PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(PrimitiveDrawing_Runtime PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(PrimitiveDrawing_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "PrimitiveDrawing")
|
||||
set_target_properties(PrimitiveDrawing_Runtime PROPERTIES LIBRARY_OUTPUT_NAME "PrimitiveDrawing")
|
||||
set_target_properties(PrimitiveDrawing_Runtime PROPERTIES ARCHIVE_OUTPUT_NAME "PrimitiveDrawing")
|
||||
set_target_properties(PrimitiveDrawing PROPERTIES PREFIX "")
|
||||
set_target_properties(PrimitiveDrawing_Runtime PROPERTIES PREFIX "")
|
||||
IF(WIN32)
|
||||
set_target_properties(PrimitiveDrawing PROPERTIES SUFFIX ".xgdwe")
|
||||
set_target_properties(PrimitiveDrawing_Runtime PROPERTIES SUFFIX ".xgdw")
|
||||
ELSE()
|
||||
set_target_properties(PrimitiveDrawing PROPERTIES SUFFIX ".xgde")
|
||||
set_target_properties(PrimitiveDrawing_Runtime PROPERTIES SUFFIX ".xgd")
|
||||
ENDIF(WIN32)
|
||||
set_target_properties(PrimitiveDrawing_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "PrimitiveDrawing")
|
||||
gd_add_extension_target(PrimitiveDrawing "${source_files}")
|
||||
gdcpp_add_runtime_extension_target(PrimitiveDrawing_Runtime "${source_files}")
|
||||
|
||||
#Linker files for the IDE extension
|
||||
###
|
||||
target_link_libraries(PrimitiveDrawing GDCore)
|
||||
target_link_libraries(PrimitiveDrawing GDCpp)
|
||||
IF(WIN32)
|
||||
target_link_libraries(PrimitiveDrawing sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
target_link_libraries(PrimitiveDrawing ${wxwidgets_lib_dir}/libwxmsw30ud_xrc.a ${wxwidgets_lib_dir}/libwxmsw30ud_stc.a ${wxwidgets_lib_dir}/libwxmsw30ud_richtext.a ${wxwidgets_lib_dir}/libwxmsw30ud_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30ud_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30ud_aui.a ${wxwidgets_lib_dir}/libwxmsw30ud_adv.a ${wxwidgets_lib_dir}/libwxmsw30ud_html.a ${wxwidgets_lib_dir}/libwxmsw30ud_core.a ${wxwidgets_lib_dir}/libwxbase30ud_xml.a ${wxwidgets_lib_dir}/libwxbase30ud_net.a ${wxwidgets_lib_dir}/libwxexpatd.a ${wxwidgets_lib_dir}/libwxbase30ud.a ${wxwidgets_lib_dir}/libwxpngd.a ${wxwidgets_lib_dir}/libwxjpegd.a ${wxwidgets_lib_dir}/libwxzlibd.a ${wxwidgets_lib_dir}/libwxtiffd.a)
|
||||
ELSE()
|
||||
target_link_libraries(PrimitiveDrawing ${wxwidgets_lib_dir}/libwxmsw30u_xrc.a ${wxwidgets_lib_dir}/libwxmsw30u_stc.a ${wxwidgets_lib_dir}/libwxmsw30u_richtext.a ${wxwidgets_lib_dir}/libwxmsw30u_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30u_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30u_aui.a ${wxwidgets_lib_dir}/libwxmsw30u_adv.a ${wxwidgets_lib_dir}/libwxmsw30u_html.a ${wxwidgets_lib_dir}/libwxmsw30u_core.a ${wxwidgets_lib_dir}/libwxbase30u_xml.a ${wxwidgets_lib_dir}/libwxbase30u_net.a ${wxwidgets_lib_dir}/libwxexpat.a ${wxwidgets_lib_dir}/libwxbase30u.a ${wxwidgets_lib_dir}/libwxpng.a ${wxwidgets_lib_dir}/libwxjpeg.a ${wxwidgets_lib_dir}/libwxzlib.a ${wxwidgets_lib_dir}/libwxtiff.a)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
target_link_libraries(PrimitiveDrawing ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(PrimitiveDrawing sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(PrimitiveDrawing ${wxWidgets_LIBRARIES})
|
||||
target_link_libraries(PrimitiveDrawing ${GTK_LIBRARIES})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_extension_link_libraries(PrimitiveDrawing)
|
||||
|
||||
#Linker files for the GD C++ Runtime extension
|
||||
###
|
||||
target_link_libraries(PrimitiveDrawing_Runtime GDCpp_Runtime)
|
||||
IF(WIN32)
|
||||
target_link_libraries(PrimitiveDrawing_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(PrimitiveDrawing_Runtime ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(PrimitiveDrawing_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
ENDIF(WIN32)
|
||||
gdcpp_runtime_extension_link_libraries(PrimitiveDrawing_Runtime)
|
||||
|
@@ -2,158 +2,24 @@ cmake_minimum_required(VERSION 2.6)
|
||||
cmake_policy(SET CMP0015 NEW)
|
||||
|
||||
project(SoundObject)
|
||||
|
||||
#Sanity checks and options
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
message( "CMAKE_BUILD_TYPE is empty, assuming build type is Release" )
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
ENDIF()
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-s") ## Strip binary
|
||||
ENDIF()
|
||||
endif()
|
||||
|
||||
#Common directories:
|
||||
###
|
||||
set(GD_base_dir ${CMAKE_CURRENT_SOURCE_DIR}/../..)
|
||||
set(GDCORE_include_dir ${GD_base_dir}/Core)
|
||||
set(GDCORE_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_include_dir ${GD_base_dir}/GDCpp)
|
||||
set(GDCpp_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_Runtime_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Runtime)
|
||||
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
set(wxwidgets_include_dir ${GD_base_dir}/ExtLibs/wxwidgets/include)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswud)
|
||||
ELSE()
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswu)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_lib_dir ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll)
|
||||
ENDIF(WIN32)
|
||||
|
||||
|
||||
include_directories(${sfml_include_dir})
|
||||
include_directories(${GDCORE_include_dir})
|
||||
include_directories(${GDCpp_include_dir})
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
include_directories(${wxwidgets_include_dir})
|
||||
ELSE()
|
||||
find_package(wxWidgets COMPONENTS core base adv net ribbon stc aui propgrid richtext html xrc REQUIRED)
|
||||
include( "${wxWidgets_USE_FILE}" )
|
||||
include_directories(${GTK_INCLUDE_DIRS})
|
||||
link_directories(${GTK_LIBRARY_DIRS})
|
||||
ENDIF(WIN32)
|
||||
IF(NOT TARGET GDCore) #Ensure that the build will work even when GDCore is not in the target list.
|
||||
link_directories(${GDCORE_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp) #Ensure that the build will work even when GDC++ is not in the target list.
|
||||
link_directories(${GDCpp_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp_Runtime)
|
||||
add_library(GDCpp_Runtime SHARED IMPORTED)
|
||||
IF(WIN32)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/GDCpp.dll)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.dll.a)
|
||||
ELSE()
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/libGDCpp.so)
|
||||
#set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.so.a)
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gd_add_extension_includes()
|
||||
|
||||
#Defines
|
||||
###
|
||||
set(SoundObject_extra_definitions "${SoundObject_extra_definitions} GD_IDE_ONLY=1;")
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
add_definitions( -DDEBUG )
|
||||
IF(WIN32)
|
||||
add_definitions( __WXDEBUG__ )
|
||||
ENDIF(WIN32)
|
||||
ELSEIF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
add_definitions( -DRELEASE )
|
||||
ELSE()
|
||||
add_definitions( -DDEV )
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
IF(WIN32)
|
||||
add_definitions( -DWINDOWS )
|
||||
add_definitions( "-DGD_CORE_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_EXTENSION_API=__declspec(dllexport)" )
|
||||
|
||||
add_definitions( -D__GNUWIN32__ )
|
||||
add_definitions( -D__WXMSW__ )
|
||||
add_definitions( -DwxUSE_UNICODE=1 )
|
||||
add_definitions( -DWXUSINGDLL )
|
||||
ELSE()
|
||||
IF(APPLE)
|
||||
add_definitions( -DMACOS )
|
||||
ELSE()
|
||||
add_definitions( -DLINUX )
|
||||
ENDIF()
|
||||
add_definitions( -DGD_API= )
|
||||
add_definitions( -DGD_CORE_API= )
|
||||
add_definitions( -DGD_EXTENSION_API= )
|
||||
add_definitions(${GTK_CFLAGS_OTHER})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_add_extension_definitions(SoundObject)
|
||||
|
||||
#The targets
|
||||
###
|
||||
include_directories(.)
|
||||
file(GLOB source_files *)
|
||||
|
||||
add_library(SoundObject SHARED ${source_files})
|
||||
add_library(SoundObject_Runtime SHARED ${source_files})
|
||||
set_target_properties(SoundObject PROPERTIES COMPILE_DEFINITIONS "${SoundObject_extra_definitions}")
|
||||
set_target_properties(SoundObject_Runtime PROPERTIES COMPILE_DEFINITIONS "${SoundObject_Runtime_extra_definitions}")
|
||||
set_target_properties(SoundObject PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(SoundObject PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(SoundObject PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(SoundObject_Runtime PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(SoundObject_Runtime PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(SoundObject_Runtime PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(SoundObject_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "SoundObject")
|
||||
set_target_properties(SoundObject_Runtime PROPERTIES LIBRARY_OUTPUT_NAME "SoundObject")
|
||||
set_target_properties(SoundObject_Runtime PROPERTIES ARCHIVE_OUTPUT_NAME "SoundObject")
|
||||
set_target_properties(SoundObject PROPERTIES PREFIX "")
|
||||
set_target_properties(SoundObject_Runtime PROPERTIES PREFIX "")
|
||||
IF(WIN32)
|
||||
set_target_properties(SoundObject PROPERTIES SUFFIX ".xgdwe")
|
||||
set_target_properties(SoundObject_Runtime PROPERTIES SUFFIX ".xgdw")
|
||||
ELSE()
|
||||
set_target_properties(SoundObject PROPERTIES SUFFIX ".xgde")
|
||||
set_target_properties(SoundObject_Runtime PROPERTIES SUFFIX ".xgd")
|
||||
ENDIF(WIN32)
|
||||
set_target_properties(SoundObject_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "SoundObject")
|
||||
gd_add_extension_target(SoundObject "${source_files}")
|
||||
gdcpp_add_runtime_extension_target(SoundObject_Runtime "${source_files}")
|
||||
|
||||
#Linker files for the IDE extension
|
||||
###
|
||||
target_link_libraries(SoundObject GDCore)
|
||||
target_link_libraries(SoundObject GDCpp)
|
||||
IF(WIN32)
|
||||
target_link_libraries(SoundObject sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
target_link_libraries(SoundObject ${wxwidgets_lib_dir}/libwxmsw30ud_xrc.a ${wxwidgets_lib_dir}/libwxmsw30ud_stc.a ${wxwidgets_lib_dir}/libwxmsw30ud_richtext.a ${wxwidgets_lib_dir}/libwxmsw30ud_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30ud_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30ud_aui.a ${wxwidgets_lib_dir}/libwxmsw30ud_adv.a ${wxwidgets_lib_dir}/libwxmsw30ud_html.a ${wxwidgets_lib_dir}/libwxmsw30ud_core.a ${wxwidgets_lib_dir}/libwxbase30ud_xml.a ${wxwidgets_lib_dir}/libwxbase30ud_net.a ${wxwidgets_lib_dir}/libwxexpatd.a ${wxwidgets_lib_dir}/libwxbase30ud.a ${wxwidgets_lib_dir}/libwxpngd.a ${wxwidgets_lib_dir}/libwxjpegd.a ${wxwidgets_lib_dir}/libwxzlibd.a ${wxwidgets_lib_dir}/libwxtiffd.a)
|
||||
ELSE()
|
||||
target_link_libraries(SoundObject ${wxwidgets_lib_dir}/libwxmsw30u_xrc.a ${wxwidgets_lib_dir}/libwxmsw30u_stc.a ${wxwidgets_lib_dir}/libwxmsw30u_richtext.a ${wxwidgets_lib_dir}/libwxmsw30u_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30u_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30u_aui.a ${wxwidgets_lib_dir}/libwxmsw30u_adv.a ${wxwidgets_lib_dir}/libwxmsw30u_html.a ${wxwidgets_lib_dir}/libwxmsw30u_core.a ${wxwidgets_lib_dir}/libwxbase30u_xml.a ${wxwidgets_lib_dir}/libwxbase30u_net.a ${wxwidgets_lib_dir}/libwxexpat.a ${wxwidgets_lib_dir}/libwxbase30u.a ${wxwidgets_lib_dir}/libwxpng.a ${wxwidgets_lib_dir}/libwxjpeg.a ${wxwidgets_lib_dir}/libwxzlib.a ${wxwidgets_lib_dir}/libwxtiff.a)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
target_link_libraries(SoundObject ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(SoundObject sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(SoundObject ${wxWidgets_LIBRARIES})
|
||||
target_link_libraries(SoundObject ${GTK_LIBRARIES})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_extension_link_libraries(SoundObject)
|
||||
|
||||
#Linker files for the GD C++ Runtime extension
|
||||
###
|
||||
target_link_libraries(SoundObject_Runtime GDCpp_Runtime)
|
||||
IF(WIN32)
|
||||
target_link_libraries(SoundObject_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(SoundObject_Runtime ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(SoundObject_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
ENDIF(WIN32)
|
||||
gdcpp_runtime_extension_link_libraries(SoundObject_Runtime)
|
||||
|
@@ -2,158 +2,24 @@ cmake_minimum_required(VERSION 2.6)
|
||||
cmake_policy(SET CMP0015 NEW)
|
||||
|
||||
project(TextEntryObject)
|
||||
|
||||
#Sanity checks and options
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
message( "CMAKE_BUILD_TYPE is empty, assuming build type is Release" )
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
ENDIF()
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-s") ## Strip binary
|
||||
ENDIF()
|
||||
endif()
|
||||
|
||||
#Common directories:
|
||||
###
|
||||
set(GD_base_dir ${CMAKE_CURRENT_SOURCE_DIR}/../..)
|
||||
set(GDCORE_include_dir ${GD_base_dir}/Core)
|
||||
set(GDCORE_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_include_dir ${GD_base_dir}/GDCpp)
|
||||
set(GDCpp_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_Runtime_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Runtime)
|
||||
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
set(wxwidgets_include_dir ${GD_base_dir}/ExtLibs/wxwidgets/include)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswud)
|
||||
ELSE()
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswu)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_lib_dir ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll)
|
||||
ENDIF(WIN32)
|
||||
|
||||
|
||||
include_directories(${sfml_include_dir})
|
||||
include_directories(${GDCORE_include_dir})
|
||||
include_directories(${GDCpp_include_dir})
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
include_directories(${wxwidgets_include_dir})
|
||||
ELSE()
|
||||
find_package(wxWidgets COMPONENTS core base adv net ribbon stc aui propgrid richtext html xrc REQUIRED)
|
||||
include( "${wxWidgets_USE_FILE}" )
|
||||
include_directories(${GTK_INCLUDE_DIRS})
|
||||
link_directories(${GTK_LIBRARY_DIRS})
|
||||
ENDIF(WIN32)
|
||||
IF(NOT TARGET GDCore) #Ensure that the build will work even when GDCore is not in the target list.
|
||||
link_directories(${GDCORE_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp) #Ensure that the build will work even when GDC++ is not in the target list.
|
||||
link_directories(${GDCpp_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp_Runtime)
|
||||
add_library(GDCpp_Runtime SHARED IMPORTED)
|
||||
IF(WIN32)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/GDCpp.dll)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.dll.a)
|
||||
ELSE()
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/libGDCpp.so)
|
||||
#set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.so.a)
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gd_add_extension_includes()
|
||||
|
||||
#Defines
|
||||
###
|
||||
set(TextEntryObject_extra_definitions "${TextEntryObject_extra_definitions} GD_IDE_ONLY=1;")
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
add_definitions( -DDEBUG )
|
||||
IF(WIN32)
|
||||
add_definitions( __WXDEBUG__ )
|
||||
ENDIF(WIN32)
|
||||
ELSEIF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
add_definitions( -DRELEASE )
|
||||
ELSE()
|
||||
add_definitions( -DDEV )
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
IF(WIN32)
|
||||
add_definitions( -DWINDOWS )
|
||||
add_definitions( "-DGD_CORE_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_EXTENSION_API=__declspec(dllexport)" )
|
||||
|
||||
add_definitions( -D__GNUWIN32__ )
|
||||
add_definitions( -D__WXMSW__ )
|
||||
add_definitions( -DwxUSE_UNICODE=1 )
|
||||
add_definitions( -DWXUSINGDLL )
|
||||
ELSE()
|
||||
IF(APPLE)
|
||||
add_definitions( -DMACOS )
|
||||
ELSE()
|
||||
add_definitions( -DLINUX )
|
||||
ENDIF()
|
||||
add_definitions( -DGD_API= )
|
||||
add_definitions( -DGD_CORE_API= )
|
||||
add_definitions( -DGD_EXTENSION_API= )
|
||||
add_definitions(${GTK_CFLAGS_OTHER})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_add_extension_definitions(TextEntryObject)
|
||||
|
||||
#The targets
|
||||
###
|
||||
include_directories(.)
|
||||
file(GLOB source_files *)
|
||||
|
||||
add_library(TextEntryObject SHARED ${source_files})
|
||||
add_library(TextEntryObject_Runtime SHARED ${source_files})
|
||||
set_target_properties(TextEntryObject PROPERTIES COMPILE_DEFINITIONS "${TextEntryObject_extra_definitions}")
|
||||
set_target_properties(TextEntryObject_Runtime PROPERTIES COMPILE_DEFINITIONS "${TextEntryObject_Runtime_extra_definitions}")
|
||||
set_target_properties(TextEntryObject PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(TextEntryObject PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(TextEntryObject PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(TextEntryObject_Runtime PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(TextEntryObject_Runtime PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(TextEntryObject_Runtime PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(TextEntryObject_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "TextEntryObject")
|
||||
set_target_properties(TextEntryObject_Runtime PROPERTIES LIBRARY_OUTPUT_NAME "TextEntryObject")
|
||||
set_target_properties(TextEntryObject_Runtime PROPERTIES ARCHIVE_OUTPUT_NAME "TextEntryObject")
|
||||
set_target_properties(TextEntryObject PROPERTIES PREFIX "")
|
||||
set_target_properties(TextEntryObject_Runtime PROPERTIES PREFIX "")
|
||||
IF(WIN32)
|
||||
set_target_properties(TextEntryObject PROPERTIES SUFFIX ".xgdwe")
|
||||
set_target_properties(TextEntryObject_Runtime PROPERTIES SUFFIX ".xgdw")
|
||||
ELSE()
|
||||
set_target_properties(TextEntryObject PROPERTIES SUFFIX ".xgde")
|
||||
set_target_properties(TextEntryObject_Runtime PROPERTIES SUFFIX ".xgd")
|
||||
ENDIF(WIN32)
|
||||
set_target_properties(TextEntryObject_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "TextEntryObject")
|
||||
gd_add_extension_target(TextEntryObject "${source_files}")
|
||||
gdcpp_add_runtime_extension_target(TextEntryObject_Runtime "${source_files}")
|
||||
|
||||
#Linker files for the IDE extension
|
||||
###
|
||||
target_link_libraries(TextEntryObject GDCore)
|
||||
target_link_libraries(TextEntryObject GDCpp)
|
||||
IF(WIN32)
|
||||
target_link_libraries(TextEntryObject sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
target_link_libraries(TextEntryObject ${wxwidgets_lib_dir}/libwxmsw30ud_xrc.a ${wxwidgets_lib_dir}/libwxmsw30ud_stc.a ${wxwidgets_lib_dir}/libwxmsw30ud_richtext.a ${wxwidgets_lib_dir}/libwxmsw30ud_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30ud_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30ud_aui.a ${wxwidgets_lib_dir}/libwxmsw30ud_adv.a ${wxwidgets_lib_dir}/libwxmsw30ud_html.a ${wxwidgets_lib_dir}/libwxmsw30ud_core.a ${wxwidgets_lib_dir}/libwxbase30ud_xml.a ${wxwidgets_lib_dir}/libwxbase30ud_net.a ${wxwidgets_lib_dir}/libwxexpatd.a ${wxwidgets_lib_dir}/libwxbase30ud.a ${wxwidgets_lib_dir}/libwxpngd.a ${wxwidgets_lib_dir}/libwxjpegd.a ${wxwidgets_lib_dir}/libwxzlibd.a ${wxwidgets_lib_dir}/libwxtiffd.a)
|
||||
ELSE()
|
||||
target_link_libraries(TextEntryObject ${wxwidgets_lib_dir}/libwxmsw30u_xrc.a ${wxwidgets_lib_dir}/libwxmsw30u_stc.a ${wxwidgets_lib_dir}/libwxmsw30u_richtext.a ${wxwidgets_lib_dir}/libwxmsw30u_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30u_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30u_aui.a ${wxwidgets_lib_dir}/libwxmsw30u_adv.a ${wxwidgets_lib_dir}/libwxmsw30u_html.a ${wxwidgets_lib_dir}/libwxmsw30u_core.a ${wxwidgets_lib_dir}/libwxbase30u_xml.a ${wxwidgets_lib_dir}/libwxbase30u_net.a ${wxwidgets_lib_dir}/libwxexpat.a ${wxwidgets_lib_dir}/libwxbase30u.a ${wxwidgets_lib_dir}/libwxpng.a ${wxwidgets_lib_dir}/libwxjpeg.a ${wxwidgets_lib_dir}/libwxzlib.a ${wxwidgets_lib_dir}/libwxtiff.a)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
target_link_libraries(TextEntryObject ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(TextEntryObject sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(TextEntryObject ${wxWidgets_LIBRARIES})
|
||||
target_link_libraries(TextEntryObject ${GTK_LIBRARIES})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_extension_link_libraries(TextEntryObject)
|
||||
|
||||
#Linker files for the GD C++ Runtime extension
|
||||
###
|
||||
target_link_libraries(TextEntryObject_Runtime GDCpp_Runtime)
|
||||
IF(WIN32)
|
||||
target_link_libraries(TextEntryObject_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(TextEntryObject_Runtime ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(TextEntryObject_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
ENDIF(WIN32)
|
||||
gdcpp_runtime_extension_link_libraries(TextEntryObject_Runtime)
|
||||
|
@@ -2,175 +2,24 @@ cmake_minimum_required(VERSION 2.6)
|
||||
cmake_policy(SET CMP0015 NEW)
|
||||
|
||||
project(TextObject)
|
||||
|
||||
#Sanity checks and options
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
message( "CMAKE_BUILD_TYPE is empty, assuming build type is Release" )
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
ENDIF()
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-s") ## Strip binary
|
||||
ENDIF()
|
||||
endif()
|
||||
if(EMSCRIPTEN) #When compiling for the web, ensure we get no warning when using our own external libraries.
|
||||
SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --bind -Wno-warn-absolute-paths" )
|
||||
ENDIF()
|
||||
|
||||
#Common directories:
|
||||
###
|
||||
set(GD_base_dir ${CMAKE_CURRENT_SOURCE_DIR}/../..)
|
||||
set(GDCORE_include_dir ${GD_base_dir}/Core)
|
||||
set(GDCORE_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_include_dir ${GD_base_dir}/GDCpp)
|
||||
set(GDCpp_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_Runtime_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Runtime)
|
||||
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
set(wxwidgets_include_dir ${GD_base_dir}/ExtLibs/wxwidgets/include)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswud)
|
||||
ELSE()
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswu)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_lib_dir ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll)
|
||||
ENDIF(WIN32)
|
||||
|
||||
|
||||
include_directories(${sfml_include_dir})
|
||||
include_directories(${GDCORE_include_dir})
|
||||
include_directories(${GDCpp_include_dir})
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
include_directories(${wxwidgets_include_dir})
|
||||
ELSEIF (NOT EMSCRIPTEN)
|
||||
find_package(wxWidgets COMPONENTS core base adv net ribbon stc aui propgrid richtext html xrc REQUIRED)
|
||||
include( "${wxWidgets_USE_FILE}" )
|
||||
include_directories(${GTK_INCLUDE_DIRS})
|
||||
link_directories(${GTK_LIBRARY_DIRS})
|
||||
ENDIF(WIN32)
|
||||
IF(NOT TARGET GDCore) #Ensure that the build will work even when GDCore is not in the target list.
|
||||
link_directories(${GDCORE_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp) #Ensure that the build will work even when GDC++ is not in the target list.
|
||||
link_directories(${GDCpp_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp_Runtime)
|
||||
add_library(GDCpp_Runtime SHARED IMPORTED)
|
||||
IF(WIN32)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/GDCpp.dll)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.dll.a)
|
||||
ELSE()
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/libGDCpp.so)
|
||||
#set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.so.a)
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gd_add_extension_includes()
|
||||
|
||||
#Defines
|
||||
###
|
||||
set(TextObject_extra_definitions "${TextObject_extra_definitions} GD_IDE_ONLY=1;")
|
||||
IF (EMSCRIPTEN) #When compiling for the web, we do not want any GUI related feature.
|
||||
add_definitions( -DGD_NO_WX_GUI )
|
||||
add_definitions( -DEMSCRIPTEN )
|
||||
ENDIF()
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
add_definitions( -DDEBUG )
|
||||
IF(WIN32)
|
||||
add_definitions( __WXDEBUG__ )
|
||||
ENDIF(WIN32)
|
||||
ELSEIF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
add_definitions( -DRELEASE )
|
||||
ELSE()
|
||||
add_definitions( -DDEV )
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
IF(WIN32)
|
||||
add_definitions( -DWINDOWS )
|
||||
add_definitions( "-DGD_CORE_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_EXTENSION_API=__declspec(dllexport)" )
|
||||
|
||||
add_definitions( -D__GNUWIN32__ )
|
||||
add_definitions( -D__WXMSW__ )
|
||||
add_definitions( -DwxUSE_UNICODE=1 )
|
||||
add_definitions( -DWXUSINGDLL )
|
||||
ELSE()
|
||||
IF(APPLE)
|
||||
add_definitions( -DMACOS )
|
||||
ELSE()
|
||||
add_definitions( -DLINUX )
|
||||
ENDIF()
|
||||
add_definitions( -DGD_API= )
|
||||
add_definitions( -DGD_CORE_API= )
|
||||
add_definitions( -DGD_EXTENSION_API= )
|
||||
add_definitions(${GTK_CFLAGS_OTHER})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_add_extension_definitions(TextObject)
|
||||
|
||||
#The targets
|
||||
###
|
||||
include_directories(.)
|
||||
file(GLOB source_files *)
|
||||
|
||||
add_library(TextObject SHARED ${source_files})
|
||||
set_target_properties(TextObject PROPERTIES COMPILE_DEFINITIONS "${TextObject_extra_definitions}")
|
||||
set_target_properties(TextObject PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(TextObject PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(TextObject PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(TextObject PROPERTIES PREFIX "")
|
||||
IF(NOT EMSCRIPTEN)
|
||||
add_library(TextObject_Runtime SHARED ${source_files})
|
||||
set_target_properties(TextObject_Runtime PROPERTIES COMPILE_DEFINITIONS "${TextObject_Runtime_extra_definitions}")
|
||||
set_target_properties(TextObject_Runtime PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(TextObject_Runtime PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(TextObject_Runtime PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(TextObject_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "TextObject")
|
||||
set_target_properties(TextObject_Runtime PROPERTIES LIBRARY_OUTPUT_NAME "TextObject")
|
||||
set_target_properties(TextObject_Runtime PROPERTIES ARCHIVE_OUTPUT_NAME "TextObject")
|
||||
set_target_properties(TextObject_Runtime PROPERTIES PREFIX "")
|
||||
ENDIF()
|
||||
IF(WIN32)
|
||||
set_target_properties(TextObject PROPERTIES SUFFIX ".xgdwe")
|
||||
set_target_properties(TextObject_Runtime PROPERTIES SUFFIX ".xgdw")
|
||||
ELSEIF(EMSCRIPTEN)
|
||||
set_target_properties(DestroyOutsideAutomatism PROPERTIES SUFFIX ".bc")
|
||||
ELSE()
|
||||
set_target_properties(TextObject PROPERTIES SUFFIX ".xgde")
|
||||
set_target_properties(TextObject_Runtime PROPERTIES SUFFIX ".xgd")
|
||||
ENDIF(WIN32)
|
||||
gd_add_extension_target(TextObject "${source_files}")
|
||||
gdcpp_add_runtime_extension_target(TextObject_Runtime "${source_files}")
|
||||
|
||||
#Linker files for the IDE extension
|
||||
###
|
||||
IF(EMSCRIPTEN)
|
||||
#Nothing.
|
||||
ELSE()
|
||||
target_link_libraries(TextObject GDCore)
|
||||
target_link_libraries(TextObject GDCpp)
|
||||
IF(WIN32)
|
||||
target_link_libraries(TextObject sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
target_link_libraries(TextObject ${wxwidgets_lib_dir}/libwxmsw30ud_xrc.a ${wxwidgets_lib_dir}/libwxmsw30ud_stc.a ${wxwidgets_lib_dir}/libwxmsw30ud_richtext.a ${wxwidgets_lib_dir}/libwxmsw30ud_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30ud_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30ud_aui.a ${wxwidgets_lib_dir}/libwxmsw30ud_adv.a ${wxwidgets_lib_dir}/libwxmsw30ud_html.a ${wxwidgets_lib_dir}/libwxmsw30ud_core.a ${wxwidgets_lib_dir}/libwxbase30ud_xml.a ${wxwidgets_lib_dir}/libwxbase30ud_net.a ${wxwidgets_lib_dir}/libwxexpatd.a ${wxwidgets_lib_dir}/libwxbase30ud.a ${wxwidgets_lib_dir}/libwxpngd.a ${wxwidgets_lib_dir}/libwxjpegd.a ${wxwidgets_lib_dir}/libwxzlibd.a ${wxwidgets_lib_dir}/libwxtiffd.a)
|
||||
ELSE()
|
||||
target_link_libraries(TextObject ${wxwidgets_lib_dir}/libwxmsw30u_xrc.a ${wxwidgets_lib_dir}/libwxmsw30u_stc.a ${wxwidgets_lib_dir}/libwxmsw30u_richtext.a ${wxwidgets_lib_dir}/libwxmsw30u_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30u_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30u_aui.a ${wxwidgets_lib_dir}/libwxmsw30u_adv.a ${wxwidgets_lib_dir}/libwxmsw30u_html.a ${wxwidgets_lib_dir}/libwxmsw30u_core.a ${wxwidgets_lib_dir}/libwxbase30u_xml.a ${wxwidgets_lib_dir}/libwxbase30u_net.a ${wxwidgets_lib_dir}/libwxexpat.a ${wxwidgets_lib_dir}/libwxbase30u.a ${wxwidgets_lib_dir}/libwxpng.a ${wxwidgets_lib_dir}/libwxjpeg.a ${wxwidgets_lib_dir}/libwxzlib.a ${wxwidgets_lib_dir}/libwxtiff.a)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
target_link_libraries(TextObject ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(TextObject sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(TextObject ${wxWidgets_LIBRARIES})
|
||||
target_link_libraries(TextObject ${GTK_LIBRARIES})
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gd_extension_link_libraries(TextObject)
|
||||
|
||||
#Linker files for the GD C++ Runtime extension
|
||||
###
|
||||
IF(EMSCRIPTEN)
|
||||
#Nothing.
|
||||
ELSE()
|
||||
target_link_libraries(TextObject_Runtime GDCpp_Runtime)
|
||||
IF(WIN32)
|
||||
target_link_libraries(TextObject_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(TextObject_Runtime ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(TextObject_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gdcpp_runtime_extension_link_libraries(TextObject_Runtime)
|
||||
|
@@ -3,108 +3,11 @@ cmake_policy(SET CMP0015 NEW)
|
||||
|
||||
project(TileMapObject)
|
||||
|
||||
#Sanity checks and options
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
message( "CMAKE_BUILD_TYPE is empty, assuming build type is Release" )
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
ENDIF()
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-s") ## Strip binary
|
||||
ENDIF()
|
||||
endif()
|
||||
if(EMSCRIPTEN) #When compiling for the web, ensure we get no warning when using our own external libraries.
|
||||
SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --bind -Wno-warn-absolute-paths" )
|
||||
ENDIF()
|
||||
|
||||
#Common directories:
|
||||
###
|
||||
set(GD_base_dir ${CMAKE_CURRENT_SOURCE_DIR}/../..)
|
||||
set(GDCORE_include_dir ${GD_base_dir}/Core)
|
||||
set(GDCORE_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_include_dir ${GD_base_dir}/GDCpp)
|
||||
set(GDCpp_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_Runtime_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Runtime)
|
||||
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
set(wxwidgets_include_dir ${GD_base_dir}/ExtLibs/wxwidgets/include)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswud)
|
||||
ELSE()
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswu)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_lib_dir ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll)
|
||||
ENDIF(WIN32)
|
||||
|
||||
|
||||
include_directories(${sfml_include_dir})
|
||||
include_directories(${GDCORE_include_dir})
|
||||
include_directories(${GDCpp_include_dir})
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
include_directories(${wxwidgets_include_dir})
|
||||
ELSEIF (NOT EMSCRIPTEN)
|
||||
find_package(wxWidgets COMPONENTS core base adv net ribbon stc aui propgrid richtext html xrc REQUIRED)
|
||||
include( "${wxWidgets_USE_FILE}" )
|
||||
include_directories(${GTK_INCLUDE_DIRS})
|
||||
link_directories(${GTK_LIBRARY_DIRS})
|
||||
ENDIF(WIN32)
|
||||
IF(NOT TARGET GDCore) #Ensure that the build will work even when GDCore is not in the target list.
|
||||
link_directories(${GDCORE_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp) #Ensure that the build will work even when GDC++ is not in the target list.
|
||||
link_directories(${GDCpp_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp_Runtime)
|
||||
add_library(GDCpp_Runtime SHARED IMPORTED)
|
||||
IF(WIN32)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/GDCpp.dll)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.dll.a)
|
||||
ELSE()
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/libGDCpp.so)
|
||||
#set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.so.a)
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gd_add_extension_includes()
|
||||
|
||||
#Defines
|
||||
###
|
||||
set(TileMapObject_extra_definitions "${TileMapObject_extra_definitions} GD_IDE_ONLY=1;")
|
||||
IF (EMSCRIPTEN) #When compiling for the web, we do not want any GUI related feature.
|
||||
add_definitions( -DGD_NO_WX_GUI )
|
||||
add_definitions( -DEMSCRIPTEN )
|
||||
ENDIF()
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
add_definitions( -DDEBUG )
|
||||
IF(WIN32)
|
||||
add_definitions( __WXDEBUG__ )
|
||||
ENDIF(WIN32)
|
||||
ELSEIF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
add_definitions( -DRELEASE )
|
||||
ELSE()
|
||||
add_definitions( -DDEV )
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
IF(WIN32)
|
||||
add_definitions( -DWINDOWS )
|
||||
add_definitions( "-DGD_CORE_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_EXTENSION_API=__declspec(dllexport)" )
|
||||
|
||||
add_definitions( -D__GNUWIN32__ )
|
||||
add_definitions( -D__WXMSW__ )
|
||||
add_definitions( -DwxUSE_UNICODE=1 )
|
||||
add_definitions( -DWXUSINGDLL )
|
||||
ELSE()
|
||||
IF(APPLE)
|
||||
add_definitions( -DMACOS )
|
||||
ELSE()
|
||||
add_definitions( -DLINUX )
|
||||
ENDIF()
|
||||
add_definitions( -DGD_API= )
|
||||
add_definitions( -DGD_CORE_API= )
|
||||
add_definitions( -DGD_EXTENSION_API= )
|
||||
add_definitions(${GTK_CFLAGS_OTHER})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_add_extension_definitions(TileMapObject)
|
||||
|
||||
#The targets
|
||||
###
|
||||
@@ -120,6 +23,7 @@ set(source_files
|
||||
)
|
||||
|
||||
set(gdide_source_files
|
||||
${source_files}
|
||||
TileMapObjectEditor.cpp
|
||||
TileMapObjectEditorCommands.cpp
|
||||
TileSetConfigurationEditor.cpp
|
||||
@@ -131,66 +35,14 @@ set(gdide_source_files
|
||||
TileMapDialogs.xrc
|
||||
TileMapDialogs_wxsmith_bitmaps.cpp)
|
||||
|
||||
add_library(TileMapObject SHARED ${source_files} ${gdide_source_files})
|
||||
set_target_properties(TileMapObject PROPERTIES COMPILE_DEFINITIONS "${TileMapObject_extra_definitions}")
|
||||
set_target_properties(TileMapObject PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(TileMapObject PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(TileMapObject PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(TileMapObject PROPERTIES PREFIX "")
|
||||
IF(NOT EMSCRIPTEN)
|
||||
add_library(TileMapObject_Runtime SHARED ${source_files})
|
||||
set_target_properties(TileMapObject_Runtime PROPERTIES COMPILE_DEFINITIONS "${TileMapObject_Runtime_extra_definitions}")
|
||||
set_target_properties(TileMapObject_Runtime PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(TileMapObject_Runtime PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(TileMapObject_Runtime PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(TileMapObject_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "TileMapObject")
|
||||
set_target_properties(TileMapObject_Runtime PROPERTIES LIBRARY_OUTPUT_NAME "TileMapObject")
|
||||
set_target_properties(TileMapObject_Runtime PROPERTIES ARCHIVE_OUTPUT_NAME "TileMapObject")
|
||||
set_target_properties(TileMapObject_Runtime PROPERTIES PREFIX "")
|
||||
ENDIF()
|
||||
IF(WIN32)
|
||||
set_target_properties(TileMapObject PROPERTIES SUFFIX ".xgdwe")
|
||||
set_target_properties(TileMapObject_Runtime PROPERTIES SUFFIX ".xgdw")
|
||||
ELSEIF(EMSCRIPTEN)
|
||||
set_target_properties(TileMapObject PROPERTIES SUFFIX ".bc")
|
||||
ELSE()
|
||||
set_target_properties(TileMapObject PROPERTIES SUFFIX ".xgde")
|
||||
set_target_properties(TileMapObject_Runtime PROPERTIES SUFFIX ".xgd")
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_add_extension_target(TileMapObject "${gdide_source_files}")
|
||||
gdcpp_add_runtime_extension_target(TileMapObject_Runtime "${source_files}")
|
||||
|
||||
#Linker files for the IDE extension
|
||||
###
|
||||
IF(EMSCRIPTEN)
|
||||
#Nothing.
|
||||
ELSE()
|
||||
target_link_libraries(TileMapObject GDCore)
|
||||
target_link_libraries(TileMapObject GDCpp)
|
||||
IF(WIN32)
|
||||
target_link_libraries(TileMapObject sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
target_link_libraries(TileMapObject ${wxwidgets_lib_dir}/libwxmsw30ud_xrc.a ${wxwidgets_lib_dir}/libwxmsw30ud_stc.a ${wxwidgets_lib_dir}/libwxmsw30ud_richtext.a ${wxwidgets_lib_dir}/libwxmsw30ud_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30ud_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30ud_aui.a ${wxwidgets_lib_dir}/libwxmsw30ud_adv.a ${wxwidgets_lib_dir}/libwxmsw30ud_html.a ${wxwidgets_lib_dir}/libwxmsw30ud_core.a ${wxwidgets_lib_dir}/libwxbase30ud_xml.a ${wxwidgets_lib_dir}/libwxbase30ud_net.a ${wxwidgets_lib_dir}/libwxexpatd.a ${wxwidgets_lib_dir}/libwxbase30ud.a ${wxwidgets_lib_dir}/libwxpngd.a ${wxwidgets_lib_dir}/libwxjpegd.a ${wxwidgets_lib_dir}/libwxzlibd.a ${wxwidgets_lib_dir}/libwxtiffd.a)
|
||||
ELSE()
|
||||
target_link_libraries(TileMapObject ${wxwidgets_lib_dir}/libwxmsw30u_xrc.a ${wxwidgets_lib_dir}/libwxmsw30u_stc.a ${wxwidgets_lib_dir}/libwxmsw30u_richtext.a ${wxwidgets_lib_dir}/libwxmsw30u_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30u_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30u_aui.a ${wxwidgets_lib_dir}/libwxmsw30u_adv.a ${wxwidgets_lib_dir}/libwxmsw30u_html.a ${wxwidgets_lib_dir}/libwxmsw30u_core.a ${wxwidgets_lib_dir}/libwxbase30u_xml.a ${wxwidgets_lib_dir}/libwxbase30u_net.a ${wxwidgets_lib_dir}/libwxexpat.a ${wxwidgets_lib_dir}/libwxbase30u.a ${wxwidgets_lib_dir}/libwxpng.a ${wxwidgets_lib_dir}/libwxjpeg.a ${wxwidgets_lib_dir}/libwxzlib.a ${wxwidgets_lib_dir}/libwxtiff.a)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
target_link_libraries(TileMapObject ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(TileMapObject sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(TileMapObject ${wxWidgets_LIBRARIES})
|
||||
target_link_libraries(TileMapObject ${GTK_LIBRARIES})
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gd_extension_link_libraries(TileMapObject)
|
||||
|
||||
#Linker files for the GD C++ Runtime extension
|
||||
###
|
||||
IF(EMSCRIPTEN)
|
||||
#Nothing.
|
||||
ELSE()
|
||||
target_link_libraries(TileMapObject_Runtime GDCpp_Runtime)
|
||||
IF(WIN32)
|
||||
target_link_libraries(TileMapObject_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(TileMapObject_Runtime ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(TileMapObject_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gdcpp_runtime_extension_link_libraries(TileMapObject_Runtime)
|
||||
|
@@ -2,175 +2,24 @@ cmake_minimum_required(VERSION 2.6)
|
||||
cmake_policy(SET CMP0015 NEW)
|
||||
|
||||
project(TiledSpriteObject)
|
||||
|
||||
#Sanity checks and options
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
message( "CMAKE_BUILD_TYPE is empty, assuming build type is Release" )
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
ENDIF()
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-s") ## Strip binary
|
||||
ENDIF()
|
||||
endif()
|
||||
if(EMSCRIPTEN) #When compiling for the web, ensure we get no warning when using our own external libraries.
|
||||
SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --bind -Wno-warn-absolute-paths" )
|
||||
ENDIF()
|
||||
|
||||
#Common directories:
|
||||
###
|
||||
set(GD_base_dir ${CMAKE_CURRENT_SOURCE_DIR}/../..)
|
||||
set(GDCORE_include_dir ${GD_base_dir}/Core)
|
||||
set(GDCORE_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_include_dir ${GD_base_dir}/GDCpp)
|
||||
set(GDCpp_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_Runtime_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Runtime)
|
||||
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
set(wxwidgets_include_dir ${GD_base_dir}/ExtLibs/wxwidgets/include)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswud)
|
||||
ELSE()
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswu)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_lib_dir ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll)
|
||||
ENDIF(WIN32)
|
||||
|
||||
|
||||
include_directories(${sfml_include_dir})
|
||||
include_directories(${GDCORE_include_dir})
|
||||
include_directories(${GDCpp_include_dir})
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
include_directories(${wxwidgets_include_dir})
|
||||
ELSEIF (NOT EMSCRIPTEN)
|
||||
find_package(wxWidgets COMPONENTS core base adv net ribbon stc aui propgrid richtext html xrc REQUIRED)
|
||||
include( "${wxWidgets_USE_FILE}" )
|
||||
include_directories(${GTK_INCLUDE_DIRS})
|
||||
link_directories(${GTK_LIBRARY_DIRS})
|
||||
ENDIF(WIN32)
|
||||
IF(NOT TARGET GDCore) #Ensure that the build will work even when GDCore is not in the target list.
|
||||
link_directories(${GDCORE_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp) #Ensure that the build will work even when GDC++ is not in the target list.
|
||||
link_directories(${GDCpp_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp_Runtime)
|
||||
add_library(GDCpp_Runtime SHARED IMPORTED)
|
||||
IF(WIN32)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/GDCpp.dll)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.dll.a)
|
||||
ELSE()
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/libGDCpp.so)
|
||||
#set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.so.a)
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gd_add_extension_includes()
|
||||
|
||||
#Defines
|
||||
###
|
||||
set(TiledSpriteObject_extra_definitions "${TiledSpriteObject_extra_definitions} GD_IDE_ONLY=1;")
|
||||
IF (EMSCRIPTEN) #When compiling for the web, we do not want any GUI related feature.
|
||||
add_definitions( -DGD_NO_WX_GUI )
|
||||
add_definitions( -DEMSCRIPTEN )
|
||||
ENDIF()
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
add_definitions( -DDEBUG )
|
||||
IF(WIN32)
|
||||
add_definitions( __WXDEBUG__ )
|
||||
ENDIF(WIN32)
|
||||
ELSEIF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
add_definitions( -DRELEASE )
|
||||
ELSE()
|
||||
add_definitions( -DDEV )
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
IF(WIN32)
|
||||
add_definitions( -DWINDOWS )
|
||||
add_definitions( "-DGD_CORE_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_EXTENSION_API=__declspec(dllexport)" )
|
||||
|
||||
add_definitions( -D__GNUWIN32__ )
|
||||
add_definitions( -D__WXMSW__ )
|
||||
add_definitions( -DwxUSE_UNICODE=1 )
|
||||
add_definitions( -DWXUSINGDLL )
|
||||
ELSE()
|
||||
IF(APPLE)
|
||||
add_definitions( -DMACOS )
|
||||
ELSE()
|
||||
add_definitions( -DLINUX )
|
||||
ENDIF()
|
||||
add_definitions( -DGD_API= )
|
||||
add_definitions( -DGD_CORE_API= )
|
||||
add_definitions( -DGD_EXTENSION_API= )
|
||||
add_definitions(${GTK_CFLAGS_OTHER})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_add_extension_definitions(TiledSpriteObject)
|
||||
|
||||
#The targets
|
||||
###
|
||||
include_directories(.)
|
||||
file(GLOB_RECURSE source_files *)
|
||||
|
||||
add_library(TiledSpriteObject SHARED ${source_files})
|
||||
set_target_properties(TiledSpriteObject PROPERTIES COMPILE_DEFINITIONS "${TiledSpriteObject_extra_definitions}")
|
||||
set_target_properties(TiledSpriteObject PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(TiledSpriteObject PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(TiledSpriteObject PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(TiledSpriteObject PROPERTIES PREFIX "")
|
||||
IF(NOT EMSCRIPTEN)
|
||||
add_library(TiledSpriteObject_Runtime SHARED ${source_files})
|
||||
set_target_properties(TiledSpriteObject_Runtime PROPERTIES COMPILE_DEFINITIONS "${TiledSpriteObject_Runtime_extra_definitions}")
|
||||
set_target_properties(TiledSpriteObject_Runtime PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(TiledSpriteObject_Runtime PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(TiledSpriteObject_Runtime PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(TiledSpriteObject_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "TiledSpriteObject")
|
||||
set_target_properties(TiledSpriteObject_Runtime PROPERTIES LIBRARY_OUTPUT_NAME "TiledSpriteObject")
|
||||
set_target_properties(TiledSpriteObject_Runtime PROPERTIES ARCHIVE_OUTPUT_NAME "TiledSpriteObject")
|
||||
set_target_properties(TiledSpriteObject_Runtime PROPERTIES PREFIX "")
|
||||
ENDIF()
|
||||
IF(WIN32)
|
||||
set_target_properties(TiledSpriteObject PROPERTIES SUFFIX ".xgdwe")
|
||||
set_target_properties(TiledSpriteObject_Runtime PROPERTIES SUFFIX ".xgdw")
|
||||
ELSEIF(EMSCRIPTEN)
|
||||
set_target_properties(TiledSpriteObject PROPERTIES SUFFIX ".bc")
|
||||
ELSE()
|
||||
set_target_properties(TiledSpriteObject PROPERTIES SUFFIX ".xgde")
|
||||
set_target_properties(TiledSpriteObject_Runtime PROPERTIES SUFFIX ".xgd")
|
||||
ENDIF(WIN32)
|
||||
gd_add_extension_target(TiledSpriteObject "${source_files}")
|
||||
gdcpp_add_runtime_extension_target(TiledSpriteObject_Runtime "${source_files}")
|
||||
|
||||
#Linker files for the IDE extension
|
||||
###
|
||||
IF(EMSCRIPTEN)
|
||||
#Nothing.
|
||||
ELSE()
|
||||
target_link_libraries(TiledSpriteObject GDCore)
|
||||
target_link_libraries(TiledSpriteObject GDCpp)
|
||||
IF(WIN32)
|
||||
target_link_libraries(TiledSpriteObject sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
target_link_libraries(TiledSpriteObject ${wxwidgets_lib_dir}/libwxmsw30ud_xrc.a ${wxwidgets_lib_dir}/libwxmsw30ud_stc.a ${wxwidgets_lib_dir}/libwxmsw30ud_richtext.a ${wxwidgets_lib_dir}/libwxmsw30ud_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30ud_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30ud_aui.a ${wxwidgets_lib_dir}/libwxmsw30ud_adv.a ${wxwidgets_lib_dir}/libwxmsw30ud_html.a ${wxwidgets_lib_dir}/libwxmsw30ud_core.a ${wxwidgets_lib_dir}/libwxbase30ud_xml.a ${wxwidgets_lib_dir}/libwxbase30ud_net.a ${wxwidgets_lib_dir}/libwxexpatd.a ${wxwidgets_lib_dir}/libwxbase30ud.a ${wxwidgets_lib_dir}/libwxpngd.a ${wxwidgets_lib_dir}/libwxjpegd.a ${wxwidgets_lib_dir}/libwxzlibd.a ${wxwidgets_lib_dir}/libwxtiffd.a)
|
||||
ELSE()
|
||||
target_link_libraries(TiledSpriteObject ${wxwidgets_lib_dir}/libwxmsw30u_xrc.a ${wxwidgets_lib_dir}/libwxmsw30u_stc.a ${wxwidgets_lib_dir}/libwxmsw30u_richtext.a ${wxwidgets_lib_dir}/libwxmsw30u_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30u_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30u_aui.a ${wxwidgets_lib_dir}/libwxmsw30u_adv.a ${wxwidgets_lib_dir}/libwxmsw30u_html.a ${wxwidgets_lib_dir}/libwxmsw30u_core.a ${wxwidgets_lib_dir}/libwxbase30u_xml.a ${wxwidgets_lib_dir}/libwxbase30u_net.a ${wxwidgets_lib_dir}/libwxexpat.a ${wxwidgets_lib_dir}/libwxbase30u.a ${wxwidgets_lib_dir}/libwxpng.a ${wxwidgets_lib_dir}/libwxjpeg.a ${wxwidgets_lib_dir}/libwxzlib.a ${wxwidgets_lib_dir}/libwxtiff.a)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
target_link_libraries(TiledSpriteObject ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(TiledSpriteObject sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(TiledSpriteObject ${wxWidgets_LIBRARIES})
|
||||
target_link_libraries(TiledSpriteObject ${GTK_LIBRARIES})
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gd_extension_link_libraries(TiledSpriteObject)
|
||||
|
||||
#Linker files for the GD C++ Runtime extension
|
||||
###
|
||||
IF(EMSCRIPTEN)
|
||||
#Nothing.
|
||||
ELSE()
|
||||
target_link_libraries(TiledSpriteObject_Runtime GDCpp_Runtime)
|
||||
IF(WIN32)
|
||||
target_link_libraries(TiledSpriteObject_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(TiledSpriteObject_Runtime ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(TiledSpriteObject_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gdcpp_runtime_extension_link_libraries(TiledSpriteObject_Runtime)
|
||||
|
@@ -2,158 +2,24 @@ cmake_minimum_required(VERSION 2.6)
|
||||
cmake_policy(SET CMP0015 NEW)
|
||||
|
||||
project(TimedEvent)
|
||||
|
||||
#Sanity checks and options
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
message( "CMAKE_BUILD_TYPE is empty, assuming build type is Release" )
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
ENDIF()
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-s") ## Strip binary
|
||||
ENDIF()
|
||||
endif()
|
||||
|
||||
#Common directories:
|
||||
###
|
||||
set(GD_base_dir ${CMAKE_CURRENT_SOURCE_DIR}/../..)
|
||||
set(GDCORE_include_dir ${GD_base_dir}/Core)
|
||||
set(GDCORE_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_include_dir ${GD_base_dir}/GDCpp)
|
||||
set(GDCpp_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_Runtime_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Runtime)
|
||||
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
set(wxwidgets_include_dir ${GD_base_dir}/ExtLibs/wxwidgets/include)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswud)
|
||||
ELSE()
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswu)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_lib_dir ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll)
|
||||
ENDIF(WIN32)
|
||||
|
||||
|
||||
include_directories(${sfml_include_dir})
|
||||
include_directories(${GDCORE_include_dir})
|
||||
include_directories(${GDCpp_include_dir})
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
include_directories(${wxwidgets_include_dir})
|
||||
ELSE()
|
||||
find_package(wxWidgets COMPONENTS core base adv net ribbon stc aui propgrid richtext html xrc REQUIRED)
|
||||
include( "${wxWidgets_USE_FILE}" )
|
||||
include_directories(${GTK_INCLUDE_DIRS})
|
||||
link_directories(${GTK_LIBRARY_DIRS})
|
||||
ENDIF(WIN32)
|
||||
IF(NOT TARGET GDCore) #Ensure that the build will work even when GDCore is not in the target list.
|
||||
link_directories(${GDCORE_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp) #Ensure that the build will work even when GDC++ is not in the target list.
|
||||
link_directories(${GDCpp_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp_Runtime)
|
||||
add_library(GDCpp_Runtime SHARED IMPORTED)
|
||||
IF(WIN32)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/GDCpp.dll)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.dll.a)
|
||||
ELSE()
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/libGDCpp.so)
|
||||
#set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.so.a)
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gd_add_extension_includes()
|
||||
|
||||
#Defines
|
||||
###
|
||||
set(TimedEvent_extra_definitions "${TimedEvent_extra_definitions} GD_IDE_ONLY=1;")
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
add_definitions( -DDEBUG )
|
||||
IF(WIN32)
|
||||
add_definitions( __WXDEBUG__ )
|
||||
ENDIF(WIN32)
|
||||
ELSEIF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
add_definitions( -DRELEASE )
|
||||
ELSE()
|
||||
add_definitions( -DDEV )
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
IF(WIN32)
|
||||
add_definitions( -DWINDOWS )
|
||||
add_definitions( "-DGD_CORE_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_EXTENSION_API=__declspec(dllexport)" )
|
||||
|
||||
add_definitions( -D__GNUWIN32__ )
|
||||
add_definitions( -D__WXMSW__ )
|
||||
add_definitions( -DwxUSE_UNICODE=1 )
|
||||
add_definitions( -DWXUSINGDLL )
|
||||
ELSE()
|
||||
IF(APPLE)
|
||||
add_definitions( -DMACOS )
|
||||
ELSE()
|
||||
add_definitions( -DLINUX )
|
||||
ENDIF()
|
||||
add_definitions( -DGD_API= )
|
||||
add_definitions( -DGD_CORE_API= )
|
||||
add_definitions( -DGD_EXTENSION_API= )
|
||||
add_definitions(${GTK_CFLAGS_OTHER})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_add_extension_definitions(TimedEvent)
|
||||
|
||||
#The targets
|
||||
###
|
||||
include_directories(.)
|
||||
file(GLOB source_files *)
|
||||
|
||||
add_library(TimedEvent SHARED ${source_files})
|
||||
add_library(TimedEvent_Runtime SHARED ${source_files})
|
||||
set_target_properties(TimedEvent PROPERTIES COMPILE_DEFINITIONS "${TimedEvent_extra_definitions}")
|
||||
set_target_properties(TimedEvent_Runtime PROPERTIES COMPILE_DEFINITIONS "${TimedEvent_Runtime_extra_definitions}")
|
||||
set_target_properties(TimedEvent PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(TimedEvent PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(TimedEvent PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(TimedEvent_Runtime PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(TimedEvent_Runtime PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(TimedEvent_Runtime PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(TimedEvent_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "TimedEvent")
|
||||
set_target_properties(TimedEvent_Runtime PROPERTIES LIBRARY_OUTPUT_NAME "TimedEvent")
|
||||
set_target_properties(TimedEvent_Runtime PROPERTIES ARCHIVE_OUTPUT_NAME "TimedEvent")
|
||||
set_target_properties(TimedEvent PROPERTIES PREFIX "")
|
||||
set_target_properties(TimedEvent_Runtime PROPERTIES PREFIX "")
|
||||
IF(WIN32)
|
||||
set_target_properties(TimedEvent PROPERTIES SUFFIX ".xgdwe")
|
||||
set_target_properties(TimedEvent_Runtime PROPERTIES SUFFIX ".xgdw")
|
||||
ELSE()
|
||||
set_target_properties(TimedEvent PROPERTIES SUFFIX ".xgde")
|
||||
set_target_properties(TimedEvent_Runtime PROPERTIES SUFFIX ".xgd")
|
||||
ENDIF(WIN32)
|
||||
set_target_properties(TimedEvent_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "TimedEvent")
|
||||
gd_add_extension_target(TimedEvent "${source_files}")
|
||||
gdcpp_add_runtime_extension_target(TimedEvent_Runtime "${source_files}")
|
||||
|
||||
#Linker files for the IDE extension
|
||||
###
|
||||
target_link_libraries(TimedEvent GDCore)
|
||||
target_link_libraries(TimedEvent GDCpp)
|
||||
IF(WIN32)
|
||||
target_link_libraries(TimedEvent sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
target_link_libraries(TimedEvent ${wxwidgets_lib_dir}/libwxmsw30ud_xrc.a ${wxwidgets_lib_dir}/libwxmsw30ud_stc.a ${wxwidgets_lib_dir}/libwxmsw30ud_richtext.a ${wxwidgets_lib_dir}/libwxmsw30ud_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30ud_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30ud_aui.a ${wxwidgets_lib_dir}/libwxmsw30ud_adv.a ${wxwidgets_lib_dir}/libwxmsw30ud_html.a ${wxwidgets_lib_dir}/libwxmsw30ud_core.a ${wxwidgets_lib_dir}/libwxbase30ud_xml.a ${wxwidgets_lib_dir}/libwxbase30ud_net.a ${wxwidgets_lib_dir}/libwxexpatd.a ${wxwidgets_lib_dir}/libwxbase30ud.a ${wxwidgets_lib_dir}/libwxpngd.a ${wxwidgets_lib_dir}/libwxjpegd.a ${wxwidgets_lib_dir}/libwxzlibd.a ${wxwidgets_lib_dir}/libwxtiffd.a)
|
||||
ELSE()
|
||||
target_link_libraries(TimedEvent ${wxwidgets_lib_dir}/libwxmsw30u_xrc.a ${wxwidgets_lib_dir}/libwxmsw30u_stc.a ${wxwidgets_lib_dir}/libwxmsw30u_richtext.a ${wxwidgets_lib_dir}/libwxmsw30u_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30u_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30u_aui.a ${wxwidgets_lib_dir}/libwxmsw30u_adv.a ${wxwidgets_lib_dir}/libwxmsw30u_html.a ${wxwidgets_lib_dir}/libwxmsw30u_core.a ${wxwidgets_lib_dir}/libwxbase30u_xml.a ${wxwidgets_lib_dir}/libwxbase30u_net.a ${wxwidgets_lib_dir}/libwxexpat.a ${wxwidgets_lib_dir}/libwxbase30u.a ${wxwidgets_lib_dir}/libwxpng.a ${wxwidgets_lib_dir}/libwxjpeg.a ${wxwidgets_lib_dir}/libwxzlib.a ${wxwidgets_lib_dir}/libwxtiff.a)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
target_link_libraries(TimedEvent ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(TimedEvent sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(TimedEvent ${wxWidgets_LIBRARIES})
|
||||
target_link_libraries(TimedEvent ${GTK_LIBRARIES})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_extension_link_libraries(TimedEvent)
|
||||
|
||||
#Linker files for the GD C++ Runtime extension
|
||||
###
|
||||
target_link_libraries(TimedEvent_Runtime GDCpp_Runtime)
|
||||
IF(WIN32)
|
||||
target_link_libraries(TimedEvent_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(TimedEvent_Runtime ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(TimedEvent_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
ENDIF(WIN32)
|
||||
gdcpp_runtime_extension_link_libraries(TimedEvent_Runtime)
|
||||
|
@@ -2,175 +2,24 @@ cmake_minimum_required(VERSION 2.6)
|
||||
cmake_policy(SET CMP0015 NEW)
|
||||
|
||||
project(TopDownMovementAutomatism)
|
||||
|
||||
#Sanity checks and options
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
message( "CMAKE_BUILD_TYPE is empty, assuming build type is Release" )
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
ENDIF()
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-s") ## Strip binary
|
||||
ENDIF()
|
||||
endif()
|
||||
if(EMSCRIPTEN) #When compiling for the web, ensure we get no warning when using our own external libraries.
|
||||
SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --bind -Wno-warn-absolute-paths" )
|
||||
ENDIF()
|
||||
|
||||
#Common directories:
|
||||
###
|
||||
set(GD_base_dir ${CMAKE_CURRENT_SOURCE_DIR}/../..)
|
||||
set(GDCORE_include_dir ${GD_base_dir}/Core)
|
||||
set(GDCORE_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_include_dir ${GD_base_dir}/GDCpp)
|
||||
set(GDCpp_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_Runtime_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Runtime)
|
||||
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
set(wxwidgets_include_dir ${GD_base_dir}/ExtLibs/wxwidgets/include)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswud)
|
||||
ELSE()
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswu)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_lib_dir ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll)
|
||||
ENDIF(WIN32)
|
||||
|
||||
|
||||
include_directories(${sfml_include_dir})
|
||||
include_directories(${GDCORE_include_dir})
|
||||
include_directories(${GDCpp_include_dir})
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
include_directories(${wxwidgets_include_dir})
|
||||
ELSEIF (NOT EMSCRIPTEN)
|
||||
find_package(wxWidgets COMPONENTS core base adv net ribbon stc aui propgrid richtext html xrc REQUIRED)
|
||||
include( "${wxWidgets_USE_FILE}" )
|
||||
include_directories(${GTK_INCLUDE_DIRS})
|
||||
link_directories(${GTK_LIBRARY_DIRS})
|
||||
ENDIF(WIN32)
|
||||
IF(NOT TARGET GDCore) #Ensure that the build will work even when GDCore is not in the target list.
|
||||
link_directories(${GDCORE_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp) #Ensure that the build will work even when GDC++ is not in the target list.
|
||||
link_directories(${GDCpp_lib_dir})
|
||||
ENDIF()
|
||||
IF(NOT TARGET GDCpp_Runtime)
|
||||
add_library(GDCpp_Runtime SHARED IMPORTED)
|
||||
IF(WIN32)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/GDCpp.dll)
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.dll.a)
|
||||
ELSE()
|
||||
set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_LOCATION ${GDCpp_Runtime_lib_dir}/libGDCpp.so)
|
||||
#set_property(TARGET GDCpp_Runtime PROPERTY IMPORTED_IMPLIB ${GDCpp_Runtime_lib_dir}/libGDCpp.so.a)
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gd_add_extension_includes()
|
||||
|
||||
#Defines
|
||||
###
|
||||
set(TopDownMovementAutomatism_extra_definitions "${TopDownMovementAutomatism_extra_definitions} GD_IDE_ONLY=1;")
|
||||
IF (EMSCRIPTEN) #When compiling for the web, we do not want any GUI related feature.
|
||||
add_definitions( -DGD_NO_WX_GUI )
|
||||
add_definitions( -DEMSCRIPTEN )
|
||||
ENDIF()
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
add_definitions( -DDEBUG )
|
||||
IF(WIN32)
|
||||
add_definitions( __WXDEBUG__ )
|
||||
ENDIF(WIN32)
|
||||
ELSEIF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
add_definitions( -DRELEASE )
|
||||
ELSE()
|
||||
add_definitions( -DDEV )
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
IF(WIN32)
|
||||
add_definitions( -DWINDOWS )
|
||||
add_definitions( "-DGD_CORE_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_API=__declspec(dllimport)" )
|
||||
add_definitions( "-DGD_EXTENSION_API=__declspec(dllexport)" )
|
||||
|
||||
add_definitions( -D__GNUWIN32__ )
|
||||
add_definitions( -D__WXMSW__ )
|
||||
add_definitions( -DwxUSE_UNICODE=1 )
|
||||
add_definitions( -DWXUSINGDLL )
|
||||
ELSE()
|
||||
IF(APPLE)
|
||||
add_definitions( -DMACOS )
|
||||
ELSE()
|
||||
add_definitions( -DLINUX )
|
||||
ENDIF()
|
||||
add_definitions( -DGD_API= )
|
||||
add_definitions( -DGD_CORE_API= )
|
||||
add_definitions( -DGD_EXTENSION_API= )
|
||||
add_definitions(${GTK_CFLAGS_OTHER})
|
||||
ENDIF(WIN32)
|
||||
|
||||
gd_add_extension_definitions(TopDownMovementAutomatism)
|
||||
|
||||
#The targets
|
||||
###
|
||||
include_directories(.)
|
||||
file(GLOB source_files *)
|
||||
|
||||
add_library(TopDownMovementAutomatism SHARED ${source_files})
|
||||
set_target_properties(TopDownMovementAutomatism PROPERTIES PREFIX "")
|
||||
set_target_properties(TopDownMovementAutomatism PROPERTIES COMPILE_DEFINITIONS "${TopDownMovementAutomatism_extra_definitions}")
|
||||
set_target_properties(TopDownMovementAutomatism PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(TopDownMovementAutomatism PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
set_target_properties(TopDownMovementAutomatism PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions")
|
||||
IF(NOT EMSCRIPTEN)
|
||||
add_library(TopDownMovementAutomatism_Runtime SHARED ${source_files})
|
||||
set_target_properties(TopDownMovementAutomatism_Runtime PROPERTIES COMPILE_DEFINITIONS "${TopDownMovementAutomatism_Runtime_extra_definitions}")
|
||||
set_target_properties(TopDownMovementAutomatism_Runtime PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(TopDownMovementAutomatism_Runtime PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(TopDownMovementAutomatism_Runtime PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime")
|
||||
set_target_properties(TopDownMovementAutomatism_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "TopDownMovementAutomatism")
|
||||
set_target_properties(TopDownMovementAutomatism_Runtime PROPERTIES LIBRARY_OUTPUT_NAME "TopDownMovementAutomatism")
|
||||
set_target_properties(TopDownMovementAutomatism_Runtime PROPERTIES ARCHIVE_OUTPUT_NAME "TopDownMovementAutomatism")
|
||||
set_target_properties(TopDownMovementAutomatism_Runtime PROPERTIES PREFIX "")
|
||||
ENDIF()
|
||||
IF(WIN32)
|
||||
set_target_properties(TopDownMovementAutomatism PROPERTIES SUFFIX ".xgdwe")
|
||||
set_target_properties(TopDownMovementAutomatism_Runtime PROPERTIES SUFFIX ".xgdw")
|
||||
ELSEIF(EMSCRIPTEN)
|
||||
set_target_properties(DraggableAutomatism PROPERTIES SUFFIX ".bc")
|
||||
ELSE()
|
||||
set_target_properties(TopDownMovementAutomatism PROPERTIES SUFFIX ".xgde")
|
||||
set_target_properties(TopDownMovementAutomatism_Runtime PROPERTIES SUFFIX ".xgd")
|
||||
ENDIF(WIN32)
|
||||
gd_add_extension_target(TopDownMovementAutomatism "${source_files}")
|
||||
gdcpp_add_runtime_extension_target(TopDownMovementAutomatism_Runtime "${source_files}")
|
||||
|
||||
#Linker files for the IDE extension
|
||||
###
|
||||
IF(EMSCRIPTEN)
|
||||
#Nothing.
|
||||
ELSE()
|
||||
target_link_libraries(TopDownMovementAutomatism GDCore)
|
||||
target_link_libraries(TopDownMovementAutomatism GDCpp)
|
||||
IF(WIN32)
|
||||
target_link_libraries(TopDownMovementAutomatism sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
target_link_libraries(TopDownMovementAutomatism ${wxwidgets_lib_dir}/libwxmsw30ud_xrc.a ${wxwidgets_lib_dir}/libwxmsw30ud_stc.a ${wxwidgets_lib_dir}/libwxmsw30ud_richtext.a ${wxwidgets_lib_dir}/libwxmsw30ud_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30ud_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30ud_aui.a ${wxwidgets_lib_dir}/libwxmsw30ud_adv.a ${wxwidgets_lib_dir}/libwxmsw30ud_html.a ${wxwidgets_lib_dir}/libwxmsw30ud_core.a ${wxwidgets_lib_dir}/libwxbase30ud_xml.a ${wxwidgets_lib_dir}/libwxbase30ud_net.a ${wxwidgets_lib_dir}/libwxexpatd.a ${wxwidgets_lib_dir}/libwxbase30ud.a ${wxwidgets_lib_dir}/libwxpngd.a ${wxwidgets_lib_dir}/libwxjpegd.a ${wxwidgets_lib_dir}/libwxzlibd.a ${wxwidgets_lib_dir}/libwxtiffd.a)
|
||||
ELSE()
|
||||
target_link_libraries(TopDownMovementAutomatism ${wxwidgets_lib_dir}/libwxmsw30u_xrc.a ${wxwidgets_lib_dir}/libwxmsw30u_stc.a ${wxwidgets_lib_dir}/libwxmsw30u_richtext.a ${wxwidgets_lib_dir}/libwxmsw30u_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30u_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30u_aui.a ${wxwidgets_lib_dir}/libwxmsw30u_adv.a ${wxwidgets_lib_dir}/libwxmsw30u_html.a ${wxwidgets_lib_dir}/libwxmsw30u_core.a ${wxwidgets_lib_dir}/libwxbase30u_xml.a ${wxwidgets_lib_dir}/libwxbase30u_net.a ${wxwidgets_lib_dir}/libwxexpat.a ${wxwidgets_lib_dir}/libwxbase30u.a ${wxwidgets_lib_dir}/libwxpng.a ${wxwidgets_lib_dir}/libwxjpeg.a ${wxwidgets_lib_dir}/libwxzlib.a ${wxwidgets_lib_dir}/libwxtiff.a)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
target_link_libraries(TopDownMovementAutomatism ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(TopDownMovementAutomatism sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(TopDownMovementAutomatism ${wxWidgets_LIBRARIES})
|
||||
target_link_libraries(TopDownMovementAutomatism ${GTK_LIBRARIES})
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gd_extension_link_libraries(TopDownMovementAutomatism)
|
||||
|
||||
#Linker files for the GD C++ Runtime extension
|
||||
###
|
||||
IF(EMSCRIPTEN)
|
||||
#Nothing.
|
||||
ELSE()
|
||||
target_link_libraries(TopDownMovementAutomatism_Runtime GDCpp_Runtime)
|
||||
IF(WIN32)
|
||||
target_link_libraries(TopDownMovementAutomatism_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(TopDownMovementAutomatism_Runtime ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(TopDownMovementAutomatism_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
gdcpp_runtime_extension_link_libraries(TopDownMovementAutomatism_Runtime)
|
||||
|
@@ -3,35 +3,10 @@ cmake_policy(SET CMP0015 NEW)
|
||||
|
||||
project(GDCpp)
|
||||
|
||||
#Sanity checks and options
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
message( "CMAKE_BUILD_TYPE is empty, assuming build type is Release" )
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
ENDIF()
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-s") ## Strip binary
|
||||
ENDIF()
|
||||
endif()
|
||||
if(EMSCRIPTEN) #When compiling for the web, ensure we get no warning when using our own external libraries.
|
||||
SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --bind -Wno-warn-absolute-paths" )
|
||||
ENDIF()
|
||||
|
||||
#Common directories:
|
||||
###
|
||||
set(GD_base_dir ${CMAKE_CURRENT_SOURCE_DIR}/..)
|
||||
set(GDCORE_include_dir ${GD_base_dir}/Core)
|
||||
set(GDCORE_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
set(wxwidgets_include_dir ${GD_base_dir}/ExtLibs/wxwidgets/include)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswud)
|
||||
ELSE()
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswu)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_lib_dir ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll)
|
||||
ENDIF(WIN32)
|
||||
#Define common directories:
|
||||
set(GDCpp_include_dir ${GD_base_dir}/GDCpp PARENT_SCOPE)
|
||||
set(GDCpp_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME} PARENT_SCOPE)
|
||||
set(GDCpp_Runtime_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Runtime PARENT_SCOPE)
|
||||
|
||||
#Dependencies on external libraries:
|
||||
###
|
||||
@@ -39,7 +14,7 @@ include_directories(${sfml_include_dir})
|
||||
include_directories(${GDCORE_include_dir})
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
include_directories(${wxwidgets_include_dir})
|
||||
ELSEIF (NOT NO_GUI)
|
||||
ELSEIF (NOT EMSCRIPTEN AND NOT NO_GUI)
|
||||
find_package(wxWidgets COMPONENTS core base adv net ribbon stc aui propgrid richtext html xrc REQUIRED)
|
||||
include( "${wxWidgets_USE_FILE}" )
|
||||
include_directories(${GTK_INCLUDE_DIRS})
|
||||
@@ -110,7 +85,7 @@ file(GLOB_RECURSE source_gdcpp_tools GDCpp/Tools/*)
|
||||
set(source_files ${source_gdcpp} ${source_gdcpp_builtin} ${source_gdcpp_events} ${source_gdcpp_ide} ${source_gdcpp_platfdef} ${source_gdcpp_serialization} ${source_gdcpp_tinyxml} ${source_gdcpp_tools})
|
||||
set(ide_source_files ${source_gdcpp} ${source_gdcpp_builtin} ${source_gdcpp_events} ${source_gdcpp_ide} ${source_gdcpp_platfdef} ${source_gdcpp_serialization} ${source_gdcpp_tinyxml} ${source_gdcpp_tools})
|
||||
IF (NOT NO_GUI)
|
||||
list(APPEND ide_source_files ${source_gdcpp_ide_dialogs})
|
||||
list(APPEND ide_source_files ${source_gdcpp_ide_dialogs})
|
||||
ENDIF()
|
||||
|
||||
file(GLOB_RECURSE exe_source_files Runtime/*)
|
||||
@@ -123,7 +98,7 @@ set_target_properties(GDCpp PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/
|
||||
|
||||
IF(EMSCRIPTEN)
|
||||
set_target_properties(GDCpp PROPERTIES SUFFIX ".bc")
|
||||
ELSE() #Runtime targets are only generated for linux and windows.
|
||||
ELSE()
|
||||
add_library(GDCpp_Runtime SHARED ${source_files})
|
||||
add_executable(GDCpp_Runtime_exe WIN32 ${exe_source_files})
|
||||
set_target_properties(GDCpp_Runtime PROPERTIES COMPILE_DEFINITIONS "${GDCpp_Runtime_extra_definitions}")
|
||||
@@ -152,20 +127,9 @@ IF(EMSCRIPTEN)
|
||||
#Nothing.
|
||||
ELSE()
|
||||
target_link_libraries(GDCpp GDCore)
|
||||
IF(WIN32)
|
||||
target_link_libraries(GDCpp sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
target_link_libraries(GDCpp ${wxwidgets_lib_dir}/libwxmsw30ud_xrc.a ${wxwidgets_lib_dir}/libwxmsw30ud_stc.a ${wxwidgets_lib_dir}/libwxmsw30ud_richtext.a ${wxwidgets_lib_dir}/libwxmsw30ud_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30ud_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30ud_aui.a ${wxwidgets_lib_dir}/libwxmsw30ud_adv.a ${wxwidgets_lib_dir}/libwxmsw30ud_html.a ${wxwidgets_lib_dir}/libwxmsw30ud_core.a ${wxwidgets_lib_dir}/libwxbase30ud_xml.a ${wxwidgets_lib_dir}/libwxbase30ud_net.a ${wxwidgets_lib_dir}/libwxexpatd.a ${wxwidgets_lib_dir}/libwxbase30ud.a ${wxwidgets_lib_dir}/libwxpngd.a ${wxwidgets_lib_dir}/libwxjpegd.a ${wxwidgets_lib_dir}/libwxzlibd.a ${wxwidgets_lib_dir}/libwxtiffd.a)
|
||||
ELSE()
|
||||
target_link_libraries(GDCpp ${wxwidgets_lib_dir}/libwxmsw30u_xrc.a ${wxwidgets_lib_dir}/libwxmsw30u_stc.a ${wxwidgets_lib_dir}/libwxmsw30u_richtext.a ${wxwidgets_lib_dir}/libwxmsw30u_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30u_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30u_aui.a ${wxwidgets_lib_dir}/libwxmsw30u_adv.a ${wxwidgets_lib_dir}/libwxmsw30u_html.a ${wxwidgets_lib_dir}/libwxmsw30u_core.a ${wxwidgets_lib_dir}/libwxbase30u_xml.a ${wxwidgets_lib_dir}/libwxbase30u_net.a ${wxwidgets_lib_dir}/libwxexpat.a ${wxwidgets_lib_dir}/libwxbase30u.a ${wxwidgets_lib_dir}/libwxpng.a ${wxwidgets_lib_dir}/libwxjpeg.a ${wxwidgets_lib_dir}/libwxzlib.a ${wxwidgets_lib_dir}/libwxtiff.a)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
target_link_libraries(GDCpp ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(GDCpp sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(GDCpp ${wxWidgets_LIBRARIES})
|
||||
target_link_libraries(GDCpp ${GTK_LIBRARIES})
|
||||
ENDIF(WIN32)
|
||||
target_link_libraries(GDCpp ${sfml_LIBRARIES})
|
||||
target_link_libraries(GDCpp ${wxWidgets_LIBRARIES})
|
||||
target_link_libraries(GDCpp ${GTK_LIBRARIES})
|
||||
ENDIF()
|
||||
|
||||
#Linker files for Runtime
|
||||
@@ -174,18 +138,8 @@ IF(EMSCRIPTEN)
|
||||
#Nothing.
|
||||
ELSE()
|
||||
target_link_libraries(GDCpp_Runtime_exe GDCpp_Runtime)
|
||||
IF(WIN32)
|
||||
target_link_libraries(GDCpp_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(GDCpp_Runtime_exe sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(GDCpp_Runtime ws2_32 user32 opengl32 glu32)
|
||||
target_link_libraries(GDCpp_Runtime_exe ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(GDCpp_Runtime sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(GDCpp_Runtime_exe sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
IF (NOT APPLE)
|
||||
target_link_libraries(GDCpp_Runtime_exe GLU GL)
|
||||
ENDIF()
|
||||
ENDIF(WIN32)
|
||||
target_link_libraries(GDCpp_Runtime ${sfml_LIBRARIES})
|
||||
target_link_libraries(GDCpp_Runtime_exe ${sfml_LIBRARIES})
|
||||
ENDIF()
|
||||
|
||||
#Post build tasks
|
||||
@@ -214,9 +168,8 @@ if(BUILD_TESTS)
|
||||
tests/*
|
||||
)
|
||||
add_executable(GDCpp_tests ${test_source_files})
|
||||
set_target_properties(GDCpp_tests PROPERTIES COMPILE_DEFINITIONS "${GDCpp_Runtime_exe_extra_definitions}")
|
||||
set_target_properties(GDCpp_tests PROPERTIES BUILD_WITH_INSTALL_RPATH FALSE) #Allow finding dependencies directly from build path on Mac OS X.
|
||||
target_link_libraries(GDCpp_tests GDCpp_Runtime)
|
||||
target_link_libraries(GDCpp_tests sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
IF (NOT APPLE)
|
||||
target_link_libraries(GDCpp_tests GLU GL)
|
||||
ENDIF()
|
||||
target_link_libraries(GDCpp_tests ${sfml_LIBRARIES})
|
||||
endif()
|
||||
|
@@ -228,7 +228,7 @@ std::string GD_API VariableStructureToJSON(const gd::Variable & variable)
|
||||
if ( variable.IsNumber() )
|
||||
return ToString(variable.GetValue());
|
||||
else
|
||||
return "\""+StringToQuotedJSONString(variable.GetString().c_str())+"\"";
|
||||
return StringToQuotedJSONString(variable.GetString().c_str());
|
||||
}
|
||||
|
||||
std::string str = "{";
|
||||
@@ -237,7 +237,7 @@ std::string GD_API VariableStructureToJSON(const gd::Variable & variable)
|
||||
i != variable.GetAllChildren().end();++i)
|
||||
{
|
||||
if ( !firstChild ) str += ",";
|
||||
str += "\""+i->first+"\": "+VariableStructureToJSON(i->second);
|
||||
str += StringToQuotedJSONString(i->first.c_str())+": "+VariableStructureToJSON(i->second);
|
||||
|
||||
firstChild = false;
|
||||
}
|
||||
|
@@ -11,7 +11,7 @@
|
||||
#include <string>
|
||||
|
||||
/**
|
||||
* \brief Wrapper allowing to load a dynamic library and launch a specific function ( See the full description ).
|
||||
* \brief Wrapper allowing to load a dynamic library and launch a specific function.
|
||||
*
|
||||
* RuntimeScene uses this class to launch compiled events. In particular, the signature of the function
|
||||
* of the dynamic library must be :
|
||||
@@ -51,7 +51,7 @@ public:
|
||||
/**
|
||||
* Execute the function specified during the call to LoadFromDynamicLibrary
|
||||
*
|
||||
* \warning Beware, there is no protection against calling Execute on an CodeExecutionEngine that is not ( or badly ) initialized.
|
||||
* \warning Beware, there is no protection against calling Execute on an CodeExecutionEngine that is not (or badly) initialized.
|
||||
*/
|
||||
void Execute() { ((void(*)(RuntimeContext *))function)(&runtimeContext); };
|
||||
|
||||
|
@@ -4,7 +4,7 @@
|
||||
* \section welcome Welcome
|
||||
* This is the help file for the GDevelop C++ Platform, which contains a reference of all the features provided
|
||||
* by the C++ Platform and explains how to create extensions for this platform.<br>
|
||||
* Creating extensions need some knowledge in C++ language. GDevelop use mainly SFML, Boost and wxWidgets libraries.
|
||||
* Creating extensions need some knowledge in C++ language. GDevelop use mainly SFML and wxWidgets libraries.
|
||||
*
|
||||
* ### GDevelop Core documentation
|
||||
* Some classes and features are provided by the *GDevelop Core library*: When you're working with a class in the <code>gd</code>
|
||||
@@ -34,13 +34,13 @@
|
||||
* <br>
|
||||
* It is important to make the distinction between the classes used by the IDE or for storage only and the classes used by the game engine.<br>
|
||||
* When a game is being played, it is first loaded using the classes listed below. Then, in a second part, the game engine classes are initialized, most
|
||||
* of the time using their <i>edittime</i> class counterpart ( For example, a RuntimeScene can be loaded from a gd::Layout: See below ).<br>
|
||||
* of the time using their <i>edittime</i> class counterpart (For example, a RuntimeScene can be loaded from a gd::Layout: See below).<br>
|
||||
* <br>
|
||||
* <i>Edittime</i> is often used to refer to a class being used for storage or by the IDE, while <i>Runtime</i> is used to refer to the class
|
||||
* belonging to the game engine.
|
||||
*
|
||||
* \subsection game gd::Project ( also named Game )
|
||||
* A game is represented by a gd::Project class. This class contains the scenes of the game ( see below ), as well as the images, the global objects and some information.<br>
|
||||
* \subsection game gd::Project (also named Game)
|
||||
* A game is represented by a gd::Project class. This class contains the scenes of the game (see below), as well as the images, the global objects and some game properties.<br>
|
||||
* When a game is played, the RuntimeScene being rendered contains a pointer to its parent gd::Project.
|
||||
*
|
||||
* \subsection scene gd::Layout
|
||||
@@ -55,23 +55,24 @@
|
||||
*
|
||||
* \subsection automatism gd::Automatism
|
||||
|
||||
* Each automatism is an instance of a class that derive from gd::Automatism. Automatisms are linked to an object ( Thus, automatisms can access to their object by using their member object* ) and they are also managed by this object.<br>
|
||||
* Each automatism is an instance of a class that derive from gd::Automatism. Automatisms are linked to an object (thus, automatisms can access to their object by using their member `object`) and they are also managed by this object.<br>
|
||||
* gd::Automatism is the only exception to the rule explained below: Whereas the classes described in this section are used only for storage, this class
|
||||
* is used both for storage and by the game engine.
|
||||
*
|
||||
* \subsection event gd::BaseEvent
|
||||
* BaseEvent is the base class for all events.<br>
|
||||
* Each event type is represented by a class, which define how the event is rendered ( BaseEvent::Render ), how the code is generated ( BaseEvent::GenerateEventCode ), and various properties ( BaseEvent::CanHaveSubEvents for example )...<br>
|
||||
* Each event type is represented by a class, which define how the event is rendered (BaseEvent::Render), how the code is generated (BaseEvent::GenerateEventCode), and various properties (BaseEvent::CanHaveSubEvents for example)...<br>
|
||||
* As the other classes list in this section, this class is only at <i>edittime</i> used by the IDE.
|
||||
*
|
||||
* The classes described in this section are not documented here: Please refer to the documentation of <b>GDevelop Core</b> if you need help using them.
|
||||
*
|
||||
* \section aboutBoostShared_ptr About Boost shared pointers
|
||||
* \section aboutShared_ptr About shared pointers
|
||||
*
|
||||
* GDevelop use shared pointers ( std::shared_ptr ), for scenes or objects for example. <br>
|
||||
* Shared pointers are used like raw pointers ( *myPointer to dereference the pointer and get the object, myPointer->myMember to access to a function/member of the object... ).
|
||||
* They doesn't need to be deleted manually: The pointed object is deleted when no more shared pointers are pointing to the object.
|
||||
* Thus, scenes for instance don't have to manually delete the objects they own in their destructors.
|
||||
* GDevelop use shared pointers (`std::shared_ptr`), for managing lots of objects like scenes or objects.
|
||||
*
|
||||
* Shared pointers are used like raw pointers (*myPointer to dereference the pointer and get the object, myPointer->myMember to access to a function/member of the object...).
|
||||
* They don't need to be deleted manually: The pointed object is deleted when no more shared pointers are pointing to the object.
|
||||
* For instance, scenes don't have to manually delete the objects they own in their destructors.
|
||||
*/
|
||||
|
||||
//Group definitions:
|
||||
|
@@ -221,12 +221,10 @@ namespace
|
||||
std::shared_ptr<ExtensionBase> extension = std::dynamic_pointer_cast<ExtensionBase>(gdExtension);
|
||||
if ( extension == std::shared_ptr<ExtensionBase>() ) continue;
|
||||
|
||||
#if defined(MACOS)
|
||||
if ( wxFileExists(CodeCompiler::Get()->GetBaseDirectory()+"CppPlatform/Extensions/"+"lib"+extension->GetName()+".a") ||
|
||||
wxFileExists(CodeCompiler::Get()->GetBaseDirectory()+"CppPlatform/Extensions/"+"lib"+extension->GetName()+".dll.a") ||
|
||||
wxFileExists(CodeCompiler::Get()->GetBaseDirectory()+"CppPlatform/Extensions/"+"lib"+extension->GetName()+".dylib") )
|
||||
task.compilerCall.extraLibFiles.push_back(extension->GetName());
|
||||
#endif
|
||||
|
||||
for (unsigned int j =0;j<extension->GetSupplementaryLibFiles().size();++j)
|
||||
{
|
||||
|
@@ -351,6 +351,7 @@ void CppLayoutPreviewer::SetParentAuiManager(wxAuiManager * manager)
|
||||
{
|
||||
if ( !debugger )
|
||||
{
|
||||
wxLogNull noLogPlease; //Avoid libpng warnings.
|
||||
debugger = std::shared_ptr<DebuggerGUI>(new DebuggerGUI(editor.GetParentControl(), previewScene) );
|
||||
if ( !parentAuiManager->GetPane("DBG").IsOk() )
|
||||
parentAuiManager->AddPane( debugger.get(), wxAuiPaneInfo().Name( wxT( "DBG" ) ).Float().CloseButton( true ).Caption( _( "Debugger" ) ).MaximizeButton( true ).MinimizeButton( false ).CaptionVisible(true).MinSize(200, 100).Show(false) );
|
||||
|
@@ -33,18 +33,5 @@ struct ObjectHasName : public std::binary_function<std::shared_ptr<gd::Object>,
|
||||
bool operator()(const std::shared_ptr<gd::Object> & object, const std::string & name) const { return object->GetName() == name; }
|
||||
};
|
||||
|
||||
/**
|
||||
* \brief Functor for sorting an RuntimeObjList by ZOrder
|
||||
*
|
||||
* \see Object
|
||||
*/
|
||||
struct SortByZOrder
|
||||
{
|
||||
bool operator ()(RuntimeObjSPtr o1, RuntimeObjSPtr o2) const
|
||||
{
|
||||
return o1->GetZOrder() < o2->GetZOrder();
|
||||
}
|
||||
};
|
||||
|
||||
#endif // OBJECTHELPERS_H
|
||||
|
||||
|
@@ -247,9 +247,9 @@ void RuntimeScene::Render()
|
||||
|
||||
//Sort object by order to render them
|
||||
RuntimeObjList allObjects = objectsInstances.GetAllObjects();
|
||||
OrderObjectsByZOrder( allObjects );
|
||||
OrderObjectsByZOrder(allObjects);
|
||||
|
||||
//To allow using OpenGL to draw :
|
||||
//To allow using OpenGL to draw:
|
||||
glClear(GL_DEPTH_BUFFER_BIT); // Clear the depth buffer
|
||||
renderWindow->pushGLStates();
|
||||
renderWindow->setActive();
|
||||
@@ -335,12 +335,16 @@ bool RuntimeScene::UpdateTime()
|
||||
return true;
|
||||
}
|
||||
|
||||
bool RuntimeScene::OrderObjectsByZOrder( RuntimeObjList & objList )
|
||||
bool RuntimeScene::OrderObjectsByZOrder(RuntimeObjList & objList)
|
||||
{
|
||||
if ( StandardSortMethod() )
|
||||
std::sort( objList.begin(), objList.end(), SortByZOrder() );
|
||||
std::sort( objList.begin(), objList.end(), [](const RuntimeObjSPtr & o1, const RuntimeObjSPtr & o2) {
|
||||
return o1->GetZOrder() < o2->GetZOrder();
|
||||
});
|
||||
else
|
||||
std::stable_sort( objList.begin(), objList.end(), SortByZOrder() );
|
||||
std::stable_sort( objList.begin(), objList.end(), [](const RuntimeObjSPtr & o1, const RuntimeObjSPtr & o2) {
|
||||
return o1->GetZOrder() < o2->GetZOrder();
|
||||
});
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@@ -22,8 +22,9 @@ class wxWindow;
|
||||
#endif
|
||||
|
||||
/**
|
||||
* \brief Wrapper around a pointer to Animation. Used to reduce compile time.
|
||||
* Animation proxy is used to avoid including Animation.h/Direction.h/Sprite.h and SFML headers
|
||||
* \brief Wrapper around a pointer to Animation, used to reduce compile time.
|
||||
*
|
||||
* This proxy is used to avoid including Animation.h/Direction.h/Sprite.h and SFML headers.
|
||||
*/
|
||||
class GD_API AnimationProxy
|
||||
{
|
||||
|
@@ -705,7 +705,7 @@ EXCLUDE_PATTERNS =
|
||||
# wildcard * is used, a substring. Examples: ANamespace, AClass,
|
||||
# AClass::ANamespace, ANamespace::*Test
|
||||
|
||||
EXCLUDE_SYMBOLS =
|
||||
EXCLUDE_SYMBOLS = TiXml*
|
||||
|
||||
# The EXAMPLE_PATH tag can be used to specify one or more files or
|
||||
# directories that contain example code fragments that are included (see
|
||||
|
@@ -29,6 +29,10 @@ IF NOT EXIST "%MINGW_DIR%" set MINGW_DIR="C:\MinGW"
|
||||
|
||||
IF EXIST "%MINGW_DIR%" (
|
||||
xcopy "%MINGW_DIR%" "%destDir%\MinGW32\" /E /D /Q
|
||||
::Delete fat gdb.exe (+/-30mb)
|
||||
del "%destDir%\MinGW32\bin\gdb.exe"
|
||||
::Delete fat installer (+/-30mb)
|
||||
del "%destDir%\MinGW32\__installer\"*.exe
|
||||
echo Done - MinGW found in %MINGW_DIR%
|
||||
) ELSE (
|
||||
echo MinGW not found!
|
||||
|
46
GDCpp/tests/NetworkTools.cpp
Normal file
46
GDCpp/tests/NetworkTools.cpp
Normal file
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
* GDevelop C++ Platform
|
||||
* Copyright 2008-2015 Florian Rival (Florian.Rival@gmail.com). All rights reserved.
|
||||
* This project is released under the MIT License.
|
||||
*/
|
||||
/**
|
||||
* @file Tests covering network features and JSON serialization.
|
||||
*/
|
||||
#include "catch.hpp"
|
||||
#include "GDCore/CommonTools.h"
|
||||
#include "GDCore/PlatformDefinition/ClassWithObjects.h"
|
||||
#include "GDCore/PlatformDefinition/Layout.h"
|
||||
#include "GDCpp/RuntimeScene.h"
|
||||
#include "GDCpp/RuntimeGame.h"
|
||||
#include "GDCpp/BuiltinExtensions/NetworkTools.h"
|
||||
|
||||
TEST_CASE( "NetworkTools", "[game-engine]" ) {
|
||||
|
||||
SECTION("gd::Variable from/to JSON conversions") {
|
||||
SECTION("Basics") {
|
||||
gd::Variable var;
|
||||
std::string originalJSON = "{\"ok\": true,\"hello\": \"world\"}";
|
||||
JSONToVariableStructure(originalJSON, var);
|
||||
REQUIRE(VariableStructureToJSON(var) == "{\"hello\": \"world\",\"ok\": 1}");
|
||||
}
|
||||
|
||||
SECTION("Quotes and special characters") {
|
||||
gd::Variable var;
|
||||
std::string originalJSON = "{\"\\\"hello\\\"\": \" \\\"quote\\\" \",\"caret-prop\": 1,\"special-\\b\\f\\n\\r\\t\\\"\": \"\\b\\f\\n\\r\\t\"}";
|
||||
JSONToVariableStructure(originalJSON, var);
|
||||
REQUIRE(VariableStructureToJSON(var) == originalJSON);
|
||||
}
|
||||
|
||||
SECTION("Array") {
|
||||
//For gd::Variables, arrays are converted to properties called "0", "1"...
|
||||
gd::Variable var;
|
||||
std::string originalJSON = "[\"Hello\", 42, {\"a\": \"world\"}]";
|
||||
JSONToVariableStructure(originalJSON, var);
|
||||
REQUIRE(var.GetChild("0").GetString() == "Hello");
|
||||
REQUIRE(var.GetChild("1").GetValue() == 42);
|
||||
REQUIRE(var.GetChild("2").GetChild("a").GetString() == "world");
|
||||
|
||||
REQUIRE(VariableStructureToJSON(var) == "{\"0\": \"Hello\",\"1\": 42,\"2\": {\"a\": \"world\"}}");
|
||||
}
|
||||
}
|
||||
}
|
@@ -2,48 +2,13 @@ cmake_minimum_required(VERSION 2.6)
|
||||
cmake_policy(SET CMP0015 NEW)
|
||||
|
||||
project(GDJS)
|
||||
|
||||
#Sanity checks
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
message( "CMAKE_BUILD_TYPE is empty, assuming build type is Release" )
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
ENDIF()
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-s") ## Strip binary
|
||||
ENDIF()
|
||||
endif()
|
||||
if(EMSCRIPTEN) #When compiling for the web, ensure we get no warning when using our own external libraries.
|
||||
SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --bind -Wno-warn-absolute-paths" )
|
||||
ENDIF()
|
||||
|
||||
#Common directories:
|
||||
###
|
||||
set(GD_base_dir ${CMAKE_CURRENT_SOURCE_DIR}/..)
|
||||
set(GDCORE_include_dir ${GD_base_dir}/Core)
|
||||
set(GDCORE_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
set(wxwidgets_include_dir ${GD_base_dir}/ExtLibs/wxwidgets/include)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswud)
|
||||
ELSE()
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswu)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_lib_dir ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll)
|
||||
ENDIF(WIN32)
|
||||
|
||||
|
||||
#Dependencies on external libraries:
|
||||
###
|
||||
include_directories(${sfml_include_dir})
|
||||
include_directories(${GDCORE_include_dir})
|
||||
IF(NOT TARGET GDCore) #Ensure that the build will work even when GDCore is not in the target list.
|
||||
link_directories(${GDCORE_lib_dir})
|
||||
ENDIF()
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
include_directories(${wxwidgets_include_dir})
|
||||
ELSEIF (NOT EMSCRIPTEN)
|
||||
ELSEIF (NOT EMSCRIPTEN AND NOT NO_GUI)
|
||||
find_package(wxWidgets COMPONENTS core base adv net ribbon stc aui propgrid richtext html xrc REQUIRED)
|
||||
include( "${wxWidgets_USE_FILE}" )
|
||||
include_directories(${GTK_INCLUDE_DIRS})
|
||||
@@ -106,12 +71,12 @@ add_library(
|
||||
)
|
||||
IF(EMSCRIPTEN)
|
||||
set_target_properties(GDJS PROPERTIES SUFFIX ".bc")
|
||||
ENDIF()
|
||||
IF(WIN32)
|
||||
ELSEIF(WIN32)
|
||||
set_target_properties(GDJS PROPERTIES PREFIX "")
|
||||
ELSE()
|
||||
set_target_properties(GDJS PROPERTIES PREFIX "lib")
|
||||
ENDIF(WIN32)
|
||||
ENDIF()
|
||||
set_target_properties(GDJS PROPERTIES MACOS_RPATH "..")
|
||||
set(LIBRARY_OUTPUT_PATH ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/JsPlatform)
|
||||
set(ARCHIVE_OUTPUT_PATH ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/JsPlatform)
|
||||
set(RUNTIME_OUTPUT_PATH ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/JsPlatform)
|
||||
@@ -122,18 +87,9 @@ IF(EMSCRIPTEN)
|
||||
#Nothing.
|
||||
ELSE()
|
||||
target_link_libraries(GDJS GDCore)
|
||||
IF(WIN32)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
target_link_libraries(GDJS ${wxwidgets_lib_dir}/libwxmsw30ud_xrc.a ${wxwidgets_lib_dir}/libwxmsw30ud_stc.a ${wxwidgets_lib_dir}/libwxmsw30ud_webview.a ${wxwidgets_lib_dir}/libwxmsw30ud_richtext.a ${wxwidgets_lib_dir}/libwxmsw30ud_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30ud_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30ud_aui.a ${wxwidgets_lib_dir}/libwxmsw30ud_adv.a ${wxwidgets_lib_dir}/libwxmsw30ud_html.a ${wxwidgets_lib_dir}/libwxmsw30ud_core.a ${wxwidgets_lib_dir}/libwxbase30ud_xml.a ${wxwidgets_lib_dir}/libwxbase30ud_net.a ${wxwidgets_lib_dir}/libwxexpatd.a ${wxwidgets_lib_dir}/libwxbase30ud.a ${wxwidgets_lib_dir}/libwxpngd.a ${wxwidgets_lib_dir}/libwxjpegd.a ${wxwidgets_lib_dir}/libwxzlibd.a ${wxwidgets_lib_dir}/libwxtiffd.a)
|
||||
ELSE()
|
||||
target_link_libraries(GDJS ${wxwidgets_lib_dir}/libwxmsw30u_xrc.a ${wxwidgets_lib_dir}/libwxmsw30u_stc.a ${wxwidgets_lib_dir}/libwxmsw30u_webview.a ${wxwidgets_lib_dir}/libwxmsw30u_richtext.a ${wxwidgets_lib_dir}/libwxmsw30u_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30u_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30u_aui.a ${wxwidgets_lib_dir}/libwxmsw30u_adv.a ${wxwidgets_lib_dir}/libwxmsw30u_html.a ${wxwidgets_lib_dir}/libwxmsw30u_core.a ${wxwidgets_lib_dir}/libwxbase30u_xml.a ${wxwidgets_lib_dir}/libwxbase30u_net.a ${wxwidgets_lib_dir}/libwxexpat.a ${wxwidgets_lib_dir}/libwxbase30u.a ${wxwidgets_lib_dir}/libwxpng.a ${wxwidgets_lib_dir}/libwxjpeg.a ${wxwidgets_lib_dir}/libwxzlib.a ${wxwidgets_lib_dir}/libwxtiff.a)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
target_link_libraries(GDJS ws2_32 user32)
|
||||
ELSE()
|
||||
target_link_libraries(GDJS ${wxWidgets_LIBRARIES})
|
||||
target_link_libraries(GDJS ${GTK_LIBRARIES})
|
||||
ENDIF(WIN32)
|
||||
target_link_libraries(GDJS ${sfml_LIBRARIES})
|
||||
target_link_libraries(GDJS ${wxWidgets_LIBRARIES}) #Add wxWidgets libraries if needed.
|
||||
target_link_libraries(GDJS ${GTK_LIBRARIES}) #Add GTK libraries if needed (Linux only).
|
||||
ENDIF()
|
||||
|
||||
#Post build tasks
|
||||
|
@@ -5,14 +5,16 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* Represents a layer used to display objects.<br>
|
||||
* Represents a layer used to display objects.
|
||||
*
|
||||
* The layer connects its Pixi container to the Pixi stage during its construction,
|
||||
* but then it is objects responsibility to connect themselves to the layer's container
|
||||
* ( See addChildToPIXIContainer method ).<br>
|
||||
* (see addChildToPIXIContainer method).
|
||||
*
|
||||
* Layers do not provide direct access to their pixi container as they do some extra work
|
||||
* to ensure that z orders remains correct.
|
||||
*
|
||||
* <b>TODO:</b> Viewports and support for multiple cameras
|
||||
* *Not yet implemented:* Viewports and support for multiple cameras
|
||||
*
|
||||
* @class Layer
|
||||
* @namespace gdjs
|
||||
|
@@ -5,10 +5,12 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* RuntimeObject represents an object being used on a RuntimeScene.<br>
|
||||
* RuntimeObject represents an object being used on a RuntimeScene.
|
||||
*
|
||||
* The constructor can be called on an already existing RuntimeObject:
|
||||
* In this case, the constructor will try to reuse as much already existing members
|
||||
* as possible ( Recycling ).<br>
|
||||
* as possible (recycling).
|
||||
*
|
||||
* However, you should not be calling the constructor on an already existing object
|
||||
* which is not a RuntimeObject.
|
||||
*
|
||||
|
@@ -141,8 +141,6 @@ gdjs.SpriteAnimation = function(imageManager, animData)
|
||||
/**
|
||||
* The SpriteRuntimeObject represents an object that can display images.
|
||||
*
|
||||
* <b>TODO:</b> custom collisions masks.
|
||||
*
|
||||
* @class SpriteRuntimeObject
|
||||
* @namespace gdjs
|
||||
* @extends runtimeObject
|
||||
|
@@ -3,35 +3,6 @@ cmake_policy(SET CMP0015 NEW)
|
||||
|
||||
project(GDIDE)
|
||||
|
||||
#Sanity checks and options
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
message( "CMAKE_BUILD_TYPE is empty, assuming build type is Release" )
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
ENDIF()
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-s") ## Strip binary
|
||||
ENDIF()
|
||||
endif()
|
||||
|
||||
#Common directories:
|
||||
###
|
||||
set(GD_base_dir ${CMAKE_CURRENT_SOURCE_DIR}/..)
|
||||
set(GDCORE_include_dir ${GD_base_dir}/Core)
|
||||
set(GDCORE_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
set(GDCpp_include_dir ${GD_base_dir}/GDCpp)
|
||||
set(GDCpp_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME})
|
||||
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
set(wxwidgets_include_dir ${GD_base_dir}/ExtLibs/wxwidgets/include)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswud)
|
||||
ELSE()
|
||||
set(wxwidgets_include_dir ${wxwidgets_include_dir} ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll/mswu)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(wxwidgets_lib_dir ${GD_base_dir}/ExtLibs/wxwidgets/lib/gcc_dll)
|
||||
ENDIF(WIN32)
|
||||
|
||||
#Dependencies on external libraries:
|
||||
###
|
||||
include_directories(${sfml_include_dir})
|
||||
@@ -39,7 +10,7 @@ include_directories(${GDCORE_include_dir})
|
||||
include_directories(${GDCpp_include_dir})
|
||||
IF(WIN32) #Special case for wxWidgets on Windows
|
||||
include_directories(${wxwidgets_include_dir})
|
||||
ELSE()
|
||||
ELSE(NOT EMSCRIPTEN AND NOT NO_GUI)
|
||||
find_package(wxWidgets COMPONENTS core base adv net ribbon stc aui propgrid richtext html xrc REQUIRED)
|
||||
include( "${wxWidgets_USE_FILE}" )
|
||||
include_directories(${GTK_INCLUDE_DIRS})
|
||||
@@ -98,46 +69,31 @@ set_target_properties(GDIDE PROPERTIES PREFIX "")
|
||||
set_target_properties(GDIDE PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}")
|
||||
set_target_properties(GDIDE PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}")
|
||||
set_target_properties(GDIDE PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}")
|
||||
set_target_properties(GDIDE PROPERTIES MACOS_RPATH ".")
|
||||
IF(WIN32)
|
||||
set_target_properties(GDIDE_exe PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/")
|
||||
set_target_properties(GDIDE_dev_exe PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/")
|
||||
set_target_properties(GDIDE_exe PROPERTIES RUNTIME_OUTPUT_NAME "GDIDE")
|
||||
set_target_properties(GDIDE_dev_exe PROPERTIES RUNTIME_OUTPUT_NAME "GDIDE_dev")
|
||||
set_target_properties(GDIDE_exe PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/")
|
||||
set_target_properties(GDIDE_dev_exe PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/")
|
||||
set_target_properties(GDIDE_exe PROPERTIES RUNTIME_OUTPUT_NAME "GDIDE")
|
||||
set_target_properties(GDIDE_dev_exe PROPERTIES RUNTIME_OUTPUT_NAME "GDIDE_dev")
|
||||
ENDIF(WIN32)
|
||||
|
||||
#Linker files for GDIDE
|
||||
###
|
||||
target_link_libraries(GDIDE GDCore)
|
||||
target_link_libraries(GDIDE GDCpp)
|
||||
target_link_libraries(GDIDE ${sfml_LIBRARIES})
|
||||
target_link_libraries(GDIDE ${wxWidgets_LIBRARIES}) #Add wxWidgets libraries if needed.
|
||||
target_link_libraries(GDIDE ${GTK_LIBRARIES}) #Add GTK libraries if needed (Linux only).
|
||||
IF(WIN32)
|
||||
target_link_libraries(GDIDE sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(GDIDE_exe sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(GDIDE_dev_exe sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
target_link_libraries(GDIDE ${wxwidgets_lib_dir}/libwxmsw30ud_stc.a ${wxwidgets_lib_dir}/libwxmsw30ud_webview.a ${wxwidgets_lib_dir}/libwxmsw30ud_xrc.a ${wxwidgets_lib_dir}/libwxmsw30ud_stc.a ${wxwidgets_lib_dir}/libwxmsw30ud_richtext.a ${wxwidgets_lib_dir}/libwxmsw30ud_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30ud_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30ud_aui.a ${wxwidgets_lib_dir}/libwxmsw30ud_adv.a ${wxwidgets_lib_dir}/libwxmsw30ud_html.a ${wxwidgets_lib_dir}/libwxmsw30ud_core.a ${wxwidgets_lib_dir}/libwxbase30ud_xml.a ${wxwidgets_lib_dir}/libwxbase30ud_net.a ${wxwidgets_lib_dir}/libwxexpatd.a ${wxwidgets_lib_dir}/libwxbase30ud.a ${wxwidgets_lib_dir}/libwxpngd.a ${wxwidgets_lib_dir}/libwxjpegd.a ${wxwidgets_lib_dir}/libwxzlibd.a ${wxwidgets_lib_dir}/libwxtiffd.a)
|
||||
ELSE()
|
||||
target_link_libraries(GDIDE ${wxwidgets_lib_dir}/libwxmsw30u_stc.a ${wxwidgets_lib_dir}/libwxmsw30u_webview.a ${wxwidgets_lib_dir}/libwxmsw30u_xrc.a ${wxwidgets_lib_dir}/libwxmsw30u_stc.a ${wxwidgets_lib_dir}/libwxmsw30u_richtext.a ${wxwidgets_lib_dir}/libwxmsw30u_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30u_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30u_aui.a ${wxwidgets_lib_dir}/libwxmsw30u_adv.a ${wxwidgets_lib_dir}/libwxmsw30u_html.a ${wxwidgets_lib_dir}/libwxmsw30u_core.a ${wxwidgets_lib_dir}/libwxbase30u_xml.a ${wxwidgets_lib_dir}/libwxbase30u_net.a ${wxwidgets_lib_dir}/libwxexpat.a ${wxwidgets_lib_dir}/libwxbase30u.a ${wxwidgets_lib_dir}/libwxpng.a ${wxwidgets_lib_dir}/libwxjpeg.a ${wxwidgets_lib_dir}/libwxzlib.a ${wxwidgets_lib_dir}/libwxtiff.a)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
target_link_libraries(GDIDE ws2_32 user32 opengl32 glu32)
|
||||
target_link_libraries(GDIDE_exe ws2_32 user32 opengl32 glu32)
|
||||
target_link_libraries(GDIDE_dev_exe ws2_32 user32 opengl32 glu32)
|
||||
ELSE()
|
||||
target_link_libraries(GDIDE sfml-audio sfml-graphics sfml-window sfml-network sfml-system)
|
||||
target_link_libraries(GDIDE ${wxWidgets_LIBRARIES})
|
||||
target_link_libraries(GDIDE ${GTK_LIBRARIES})
|
||||
IF (NOT APPLE)
|
||||
target_link_libraries(GDIDE GLU GL)
|
||||
ENDIF()
|
||||
target_link_libraries(GDIDE_exe ${sfml_LIBRARIES})
|
||||
target_link_libraries(GDIDE_dev_exe ${sfml_LIBRARIES})
|
||||
ENDIF(WIN32)
|
||||
|
||||
#Pre build tasks
|
||||
###
|
||||
IF(NOT WIN32 AND NOT EMSCRIPTEN)
|
||||
IF (NOT APPLE)
|
||||
execute_process(COMMAND sh cleanLinuxLibraries.sh ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/
|
||||
WORKING_DIRECTORY ${GD_base_dir}/IDE/scripts)
|
||||
ENDIF()
|
||||
IF(NOT WIN32 AND NOT EMSCRIPTEN AND NOT APPLE)
|
||||
execute_process(COMMAND sh cleanLinuxLibraries.sh ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/
|
||||
WORKING_DIRECTORY ${GD_base_dir}/IDE/scripts)
|
||||
ENDIF()
|
||||
|
||||
#Post build tasks
|
||||
@@ -162,7 +118,7 @@ ELSE()
|
||||
IF (APPLE)
|
||||
add_custom_command(TARGET GDIDE
|
||||
POST_BUILD
|
||||
COMMAND sh "copyMacOSLibraries.sh" ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/ ${CMAKE_BINARY_DIR}/ExtLibs/SFML/lib
|
||||
COMMAND sh "copyMacOSLibraries.sh" ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/ ${CMAKE_BINARY_DIR}/ExtLibs/SFML/lib ${GD_base_dir}/ExtLibs/SFML
|
||||
WORKING_DIRECTORY ${GD_base_dir}/IDE/scripts)
|
||||
ELSE()
|
||||
add_custom_command(TARGET GDIDE
|
||||
@@ -175,7 +131,7 @@ ENDIF()
|
||||
|
||||
#Installation (Linux only)
|
||||
###
|
||||
IF(NOT WIN32)
|
||||
IF(NOT WIN32 AND NOT APPLE)
|
||||
install(DIRECTORY ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/ DESTINATION "${GD_INSTALL_PREFIX}")
|
||||
install(FILES ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/GDIDE DESTINATION "${GD_INSTALL_PREFIX}" PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ )
|
||||
|
||||
|
@@ -1,85 +0,0 @@
|
||||
#include "ConsoleFrame.h"
|
||||
|
||||
//(*InternalHeaders(ConsoleFrame)
|
||||
#include <wx/artprov.h>
|
||||
#include <wx/bitmap.h>
|
||||
#include <wx/intl.h>
|
||||
#include <wx/image.h>
|
||||
#include <wx/string.h>
|
||||
//*)
|
||||
#include <iostream>
|
||||
|
||||
//(*IdInit(ConsoleFrame)
|
||||
const long ConsoleFrame::ID_STATICBITMAP1 = wxNewId();
|
||||
const long ConsoleFrame::ID_STATICTEXT1 = wxNewId();
|
||||
const long ConsoleFrame::ID_TEXTCTRL1 = wxNewId();
|
||||
const long ConsoleFrame::ID_BUTTON1 = wxNewId();
|
||||
const long ConsoleFrame::ID_PANEL1 = wxNewId();
|
||||
//*)
|
||||
|
||||
BEGIN_EVENT_TABLE(ConsoleFrame,wxFrame)
|
||||
//(*EventTable(ConsoleFrame)
|
||||
//*)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
ConsoleFrame::ConsoleFrame(wxWindow* parent,wxWindowID id,const wxPoint& pos,const wxSize& size)
|
||||
{
|
||||
//(*Initialize(ConsoleFrame)
|
||||
wxFlexGridSizer* FlexGridSizer3;
|
||||
wxFlexGridSizer* FlexGridSizer2;
|
||||
wxFlexGridSizer* FlexGridSizer1;
|
||||
|
||||
Create(parent, id, _("GDevelop Console"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, _T("id"));
|
||||
SetClientSize(wxDefaultSize);
|
||||
Move(wxDefaultPosition);
|
||||
FlexGridSizer1 = new wxFlexGridSizer(0, 3, 0, 0);
|
||||
FlexGridSizer1->AddGrowableCol(0);
|
||||
FlexGridSizer1->AddGrowableRow(0);
|
||||
Panel1 = new wxPanel(this, ID_PANEL1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("ID_PANEL1"));
|
||||
FlexGridSizer2 = new wxFlexGridSizer(0, 1, 0, 0);
|
||||
FlexGridSizer2->AddGrowableCol(0);
|
||||
FlexGridSizer2->AddGrowableRow(1);
|
||||
FlexGridSizer3 = new wxFlexGridSizer(0, 3, 0, 0);
|
||||
StaticBitmap1 = new wxStaticBitmap(Panel1, ID_STATICBITMAP1, wxArtProvider::GetBitmap(wxART_MAKE_ART_ID_FROM_STR(_T("wxART_WARNING")),wxART_OTHER), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICBITMAP1"));
|
||||
FlexGridSizer3->Add(StaticBitmap1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
|
||||
StaticText1 = new wxStaticText(Panel1, ID_STATICTEXT1, _("Note that the information displayed by the console are not\nnecessarily intended to be used directly by the user."), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT1"));
|
||||
FlexGridSizer3->Add(StaticText1, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
|
||||
FlexGridSizer2->Add(FlexGridSizer3, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0);
|
||||
consoleTextCtrl = new wxTextCtrl(Panel1, ID_TEXTCTRL1, wxEmptyString, wxDefaultPosition, wxSize(239,140), wxTE_AUTO_SCROLL|wxTE_MULTILINE|wxTE_RICH, wxDefaultValidator, _T("ID_TEXTCTRL1"));
|
||||
FlexGridSizer2->Add(consoleTextCtrl, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
|
||||
closeBt = new wxButton(Panel1, ID_BUTTON1, _("Close"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON1"));
|
||||
FlexGridSizer2->Add(closeBt, 1, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
|
||||
Panel1->SetSizer(FlexGridSizer2);
|
||||
FlexGridSizer2->Fit(Panel1);
|
||||
FlexGridSizer2->SetSizeHints(Panel1);
|
||||
FlexGridSizer1->Add(Panel1, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0);
|
||||
SetSizer(FlexGridSizer1);
|
||||
FlexGridSizer1->Fit(this);
|
||||
FlexGridSizer1->SetSizeHints(this);
|
||||
|
||||
Connect(ID_BUTTON1,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&ConsoleFrame::OncloseBtClick);
|
||||
Connect(wxID_ANY,wxEVT_CLOSE_WINDOW,(wxObjectEventFunction)&ConsoleFrame::OnClose);
|
||||
//*)
|
||||
|
||||
redirector = new wxStreamToTextRedirector(consoleTextCtrl);
|
||||
|
||||
}
|
||||
|
||||
ConsoleFrame::~ConsoleFrame()
|
||||
{
|
||||
delete redirector;
|
||||
//(*Destroy(ConsoleFrame)
|
||||
//*)
|
||||
}
|
||||
|
||||
|
||||
void ConsoleFrame::OncloseBtClick(wxCommandEvent& event)
|
||||
{
|
||||
Show(false);
|
||||
}
|
||||
|
||||
void ConsoleFrame::OnClose(wxCloseEvent& event)
|
||||
{
|
||||
Show(false);
|
||||
}
|
||||
|
@@ -1,56 +0,0 @@
|
||||
#ifndef CONSOLEFRAME_H
|
||||
#define CONSOLEFRAME_H
|
||||
|
||||
#ifdef ___WXMSW___
|
||||
#include <wx/msw/winundef.h>
|
||||
#endif
|
||||
|
||||
//(*Headers(ConsoleFrame)
|
||||
#include <wx/sizer.h>
|
||||
#include <wx/stattext.h>
|
||||
#include <wx/textctrl.h>
|
||||
#include <wx/panel.h>
|
||||
#include <wx/statbmp.h>
|
||||
#include <wx/button.h>
|
||||
#include <wx/frame.h>
|
||||
//*)
|
||||
|
||||
class ConsoleFrame: public wxFrame
|
||||
{
|
||||
public:
|
||||
|
||||
ConsoleFrame(wxWindow* parent,wxWindowID id=wxID_ANY,const wxPoint& pos=wxDefaultPosition,const wxSize& size=wxDefaultSize);
|
||||
virtual ~ConsoleFrame();
|
||||
|
||||
//(*Declarations(ConsoleFrame)
|
||||
wxStaticBitmap* StaticBitmap1;
|
||||
wxTextCtrl* consoleTextCtrl;
|
||||
wxPanel* Panel1;
|
||||
wxStaticText* StaticText1;
|
||||
wxButton* closeBt;
|
||||
//*)
|
||||
|
||||
protected:
|
||||
|
||||
//(*Identifiers(ConsoleFrame)
|
||||
static const long ID_STATICBITMAP1;
|
||||
static const long ID_STATICTEXT1;
|
||||
static const long ID_TEXTCTRL1;
|
||||
static const long ID_BUTTON1;
|
||||
static const long ID_PANEL1;
|
||||
//*)
|
||||
|
||||
private:
|
||||
|
||||
//(*Handlers(ConsoleFrame)
|
||||
void OncloseBtClick(wxCommandEvent& event);
|
||||
void OnClose(wxCloseEvent& event);
|
||||
//*)
|
||||
|
||||
wxStreamToTextRedirector * redirector;
|
||||
|
||||
DECLARE_EVENT_TABLE()
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@@ -1,26 +0,0 @@
|
||||
#include "ConsoleManager.h"
|
||||
#ifdef ___WXMSW___
|
||||
#include <wx/msw/winundef.h>
|
||||
#endif
|
||||
#include "ConsoleFrame.h"
|
||||
#ifdef ___WXMSW___
|
||||
#include <wx/msw/winundef.h>
|
||||
#endif
|
||||
|
||||
ConsoleManager *ConsoleManager::_singleton = NULL;
|
||||
|
||||
ConsoleManager::ConsoleManager()
|
||||
{
|
||||
console = new ConsoleFrame(0);
|
||||
}
|
||||
|
||||
ConsoleManager::~ConsoleManager()
|
||||
{
|
||||
console->Destroy();
|
||||
}
|
||||
|
||||
void ConsoleManager::ShowConsole()
|
||||
{
|
||||
console->Show();
|
||||
}
|
||||
|
@@ -1,53 +0,0 @@
|
||||
/*
|
||||
* GDevelop IDE
|
||||
* Copyright 2008-2015 Florian Rival (Florian.Rival@gmail.com). All rights reserved.
|
||||
* This project is released under the GNU General Public License.
|
||||
*/
|
||||
|
||||
#ifndef CONSOLEMANAGER_H
|
||||
#define CONSOLEMANAGER_H
|
||||
|
||||
class ConsoleFrame;
|
||||
|
||||
/**
|
||||
* \brief Manage GDevelop IDE console.
|
||||
*
|
||||
* Class managing the GD console, allowing to display it by a simple function call.
|
||||
* Best when created at program start and killed when program exits.
|
||||
*/
|
||||
class ConsoleManager
|
||||
{
|
||||
public:
|
||||
void ShowConsole();
|
||||
|
||||
static ConsoleManager *Get()
|
||||
{
|
||||
if ( !_singleton )
|
||||
{
|
||||
_singleton = new ConsoleManager;
|
||||
}
|
||||
|
||||
return ( static_cast<ConsoleManager*>( _singleton ) );
|
||||
}
|
||||
|
||||
static void DestroySingleton()
|
||||
{
|
||||
if ( 0 != _singleton )
|
||||
{
|
||||
delete _singleton;
|
||||
_singleton = 0;
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
ConsoleManager();
|
||||
virtual ~ConsoleManager();
|
||||
|
||||
ConsoleFrame * console;
|
||||
|
||||
static ConsoleManager *_singleton;
|
||||
};
|
||||
|
||||
#endif // CONSOLEMANAGER_H
|
||||
|
@@ -105,8 +105,7 @@ mainFrameWrapper(mainFrameWrapper_)
|
||||
Connect(ID_AUINOTEBOOK1,wxEVT_COMMAND_AUINOTEBOOK_PAGE_CHANGED,(wxObjectEventFunction)&EditorScene::OnnotebookPageChanged);
|
||||
Connect(ID_AUINOTEBOOK1,wxEVT_COMMAND_AUINOTEBOOK_PAGE_CHANGING,(wxObjectEventFunction)&EditorScene::OnnotebookPageChanging);
|
||||
//*)
|
||||
|
||||
//Prepare pane manager
|
||||
//Prepare pane manager
|
||||
m_mgr.SetManagedWindow( this );
|
||||
|
||||
layoutEditorCanvas->SetParentAuiManager(&m_mgr);
|
||||
|
@@ -50,7 +50,6 @@
|
||||
#include "UpdateChecker.h"
|
||||
#include "MAJ.h"
|
||||
#include "SplashScreen.h"
|
||||
#include "ConsoleManager.h"
|
||||
#include "BugReport.h"
|
||||
#include "CompilationChecker.h"
|
||||
#include "LogFileManager.h"
|
||||
@@ -70,7 +69,7 @@ bool GDevelopIDEApp::OnInit()
|
||||
{
|
||||
//Disable assertions
|
||||
wxDisableAsserts();
|
||||
|
||||
|
||||
//Setting up working directory:
|
||||
#ifdef LINUX
|
||||
string tmp; //Make sure current working directory is executable directory.
|
||||
@@ -275,16 +274,6 @@ bool GDevelopIDEApp::OnInit()
|
||||
#endif
|
||||
cout << "* Crash management ended" << endl;
|
||||
|
||||
//Creating the console Manager
|
||||
/* Deactivated, as the compilation thread can output messages at any time, resulting in the wxTextCtrl of console frame to be updated at any time
|
||||
which is dangerous ( GUI must be only updated from main thread )
|
||||
#if defined(RELEASE) && defined(WINDOWS)
|
||||
ConsoleManager * consoleManager;
|
||||
consoleManager = ConsoleManager::Get();
|
||||
cout << "ConsoleManager created" << endl;
|
||||
#endif
|
||||
*/
|
||||
|
||||
//Splash screen
|
||||
wxBitmap bitmap;
|
||||
bitmap.LoadFile( wxString("res/GD-Splashscreen.png"), wxBITMAP_TYPE_PNG );
|
||||
|
@@ -52,7 +52,6 @@
|
||||
#include "EditorScene.h"
|
||||
#include "CodeEditor.h"
|
||||
#include "DnDFileEditor.h"
|
||||
#include "ConsoleManager.h"
|
||||
#include "ProjectManager.h"
|
||||
#include "LogFileManager.h"
|
||||
#include "BuildToolsPnl.h"
|
||||
@@ -625,11 +624,6 @@ void MainFrame::OnClose( wxCloseEvent& event )
|
||||
|
||||
wxConfigBase::Get()->Write( _T( "/Workspace/Actuel" ), m_mgr.SavePerspective() );
|
||||
|
||||
//Close the editor close the program.
|
||||
//We have to destroy the other frames.
|
||||
ConsoleManager * consoleManager = ConsoleManager::Get();
|
||||
consoleManager->DestroySingleton();
|
||||
|
||||
//Log the shutdown
|
||||
LogFileManager::Get()->WriteToLogFile("GDevelop shutting down");
|
||||
Destroy();
|
||||
|
@@ -7,13 +7,27 @@ SFML_LIB_DIR=../../ExtLibs/SFML/build-darwin/lib/
|
||||
if [ $# -ge 2 ]; then
|
||||
SFML_LIB_DIR=$2
|
||||
fi
|
||||
SFML_BASE_DIR=../../ExtLibs/SFML
|
||||
if [ $# -ge 3 ]; then
|
||||
SFML_BASE_DIR=$3
|
||||
fi
|
||||
|
||||
if [ -d $SFML_LIB_DIR ]; then
|
||||
echo "Copying SFML files to '$DESTINATION'..."
|
||||
|
||||
cp "$SFML_LIB_DIR"/*.dylib "$DESTINATION"/
|
||||
|
||||
else
|
||||
echo "SFML lib files not found in '$SFML_LIB_DIR', skipping it..."
|
||||
fi
|
||||
|
||||
if [ -d $SFML_BASE_DIR ]; then
|
||||
echo "Copying SFML frameworks to '$DESTINATION/../Frameworks'..."
|
||||
|
||||
cp -r "$SFML_BASE_DIR"/extlibs/libs-osx/Frameworks "$DESTINATION"/../
|
||||
|
||||
else
|
||||
echo "SFML base dir not found in '$SFML_BASE_DIR' (for frameworks), skipping it..."
|
||||
fi
|
||||
|
||||
echo "Done."
|
||||
|
2
docs
2
docs
Submodule docs updated: ffc7bb92a3...aa57904752
0
scripts/ExtractTranslations.sh
Normal file → Executable file
0
scripts/ExtractTranslations.sh
Normal file → Executable file
0
scripts/GenerateAllDocs.sh
Normal file → Executable file
0
scripts/GenerateAllDocs.sh
Normal file → Executable file
@@ -1,57 +0,0 @@
|
||||
@echo off > %TEMP%\#
|
||||
cd ..
|
||||
setLocal EnableDelayedExpansion
|
||||
|
||||
echo --Release procedure
|
||||
echo.
|
||||
|
||||
echo --Is Runtime executable executing gam.egd and not another file?
|
||||
choice /c:y
|
||||
|
||||
echo --Is res directory up to date?
|
||||
choice /c:y
|
||||
|
||||
echo --Is locale directory up to date?
|
||||
choice /c:y
|
||||
|
||||
echo --Generate installer and archive?
|
||||
SET SKIPINSTALLERANDARCHIVE=0
|
||||
choice /C:YN /T 10 /D Y
|
||||
IF %ERRORLEVEL%==2 SET SKIPINSTALLERANDARCHIVE=1
|
||||
IF %ERRORLEVEL%==1 SET SKIPINSTALLERANDARCHIVE=0
|
||||
|
||||
echo --Compiling Release target
|
||||
cd Binaries/.build
|
||||
ninja
|
||||
cd ..\..
|
||||
|
||||
echo.
|
||||
echo --Ensuring GDC++ headers and pch up-to-date for release
|
||||
cd GDCpp/scripts
|
||||
call CopyHeadersToGD.bat
|
||||
cd ..\..
|
||||
|
||||
echo.
|
||||
echo --Removing useless files...
|
||||
del Binaries\Output\Release_Windows\Examples\*.gdg.autosave > NUL 2> NUL
|
||||
del Binaries\Output\Release_Windows\log.txt > NUL 2> NUL
|
||||
|
||||
echo.
|
||||
echo --Creating installer...
|
||||
if exist Binaries\Releases\gd3xxxx.exe (del Binaries\Releases\gd3xxxx.exe)
|
||||
IF NOT "%SKIPINSTALLERANDARCHIVE%"=="1" "C:\Program Files (x86)\Inno Setup 5\ISCC.exe" Binaries\Releases\InnoSetupInstallerScript.iss /Q
|
||||
IF "%SKIPINSTALLERANDARCHIVE%"=="1" echo (Skipped)
|
||||
|
||||
echo.
|
||||
echo --Creating archive...
|
||||
if exist Binaries\Releases\gd3xxxx.zip (del Binaries\Releases\gd3xxxx.zip)
|
||||
cd Binaries\Output\Release_Windows\
|
||||
IF NOT "%SKIPINSTALLERANDARCHIVE%"=="1" "C:\Program Files (x86)\7-Zip\7z.exe" a ..\..\Releases\gd3xxxx.zip * > ..\..\..\scripts\logs\zipArchiveLog.txt
|
||||
IF "%SKIPINSTALLERANDARCHIVE%"=="1" echo (Skipped)
|
||||
cd ..\..\..
|
||||
|
||||
echo. >CON
|
||||
echo Finished. Do not forget to : >CON
|
||||
echo -Update news.txt >CON
|
||||
echo -Update pad file >CON
|
||||
pause >CON
|
@@ -6,7 +6,7 @@ DIRECTORY="../Binaries/build"
|
||||
fi
|
||||
if [ -d "$DIRECTORY" ]; then
|
||||
cd "$DIRECTORY"
|
||||
if [ -f "build.ninha" ]; then
|
||||
if [ -f "build.ninja" ]; then
|
||||
ninja
|
||||
fi
|
||||
if [ -f "Makefile" ]; then
|
||||
|
Reference in New Issue
Block a user