[aseprite] 93/134: Fix compilation of gen utility (and tests) under Visual Studio solution (fix #541)
Tobias Hansen
thansen at moszumanska.debian.org
Sat Mar 14 17:10:11 UTC 2015
This is an automated email from the git hooks/post-receive script.
thansen pushed a commit to branch master
in repository aseprite.
commit e0264787c62ab8cc05014be734080f391f8b4b75
Author: David Capello <davidcapello at gmail.com>
Date: Tue Dec 2 01:38:25 2014 -0300
Fix compilation of gen utility (and tests) under Visual Studio solution (fix #541)
---
src/CMakeLists.txt | 34 +++++++---------------------------
src/app/CMakeLists.txt | 28 +++++++++++++++++++++++++++-
src/gen/CMakeLists.txt | 6 ++++++
3 files changed, 40 insertions(+), 28 deletions(-)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 0d89e40..1b520c9 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -28,11 +28,7 @@ set(aseprite_libraries app-lib css-lib doc-lib raster-lib
# Directories where .h files can be found
include_directories(. .. ../third_party)
-# Directory where generated files by "gen" utility will stay.
-include_directories(${CMAKE_CURRENT_BINARY_DIR})
-
# Third-party libraries
-
if(USE_SHARED_ALLEGRO4)
# Find the shared Allegro 4 library
find_library(LIBALLEGRO4_LIBRARY alleg)
@@ -246,29 +242,6 @@ if(EXISTS ../docs/quickref.pdf)
endif()
######################################################################
-# Generate source files from widget XML files
-
-file(GLOB widget_files ${CMAKE_SOURCE_DIR}/data/widgets/*.xml)
-foreach(widget_file ${widget_files})
- get_filename_component(widget_name ${widget_file} NAME_WE)
- set(target_name generated_${widget_name})
- set(output_fn ${CMAKE_CURRENT_BINARY_DIR}/generated_${widget_name}.h)
-
- add_custom_command(
- OUTPUT ${output_fn}
- COMMAND gen/gen --input ${widget_file} --widgetid ${widget_name} > ${output_fn}
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- MAIN_DEPENDENCY ${widget_file}
- DEPENDS gen)
-
- add_custom_target(${target_name} DEPENDS ${output_fn})
-
- set_source_files_properties(${target_name} PROPERTIES GENERATED TRUE)
-
- add_dependencies(app-lib ${target_name})
-endforeach()
-
-######################################################################
# Tests
function(find_tests dir dependencies)
@@ -290,6 +263,13 @@ function(find_tests dir dependencies)
get_filename_component(testname ${testsourcefile} NAME_WE)
add_executable(${testname} ${testsourcefile})
+
+ if(MSVC)
+ # Fix problem compiling gen from a Visual Studio solution
+ set_target_properties(${testname}
+ PROPERTIES LINK_FLAGS -ENTRY:"mainCRTStartup")
+ endif()
+
target_link_libraries(${testname} gtest ${ARGV})
if(LIBALLEGRO4_LINK_FLAGS)
target_link_libraries(${testname} ${LIBALLEGRO4_LINK_FLAGS})
diff --git a/src/app/CMakeLists.txt b/src/app/CMakeLists.txt
index 00e55c1..65f79fb 100644
--- a/src/app/CMakeLists.txt
+++ b/src/app/CMakeLists.txt
@@ -1,6 +1,31 @@
# Aseprite
# Copyright (C) 2001-2014 David Capello
+######################################################################
+# Generate source files from widget XML files
+
+file(GLOB widget_files ${CMAKE_SOURCE_DIR}/data/widgets/*.xml)
+foreach(widget_file ${widget_files})
+ get_filename_component(widget_name ${widget_file} NAME_WE)
+ set(target_name generated_${widget_name})
+ set(output_fn ${CMAKE_CURRENT_BINARY_DIR}/generated_${widget_name}.h)
+
+ add_custom_command(
+ OUTPUT ${output_fn}
+ COMMAND ${CMAKE_BINARY_DIR}/bin/gen --input ${widget_file} --widgetid ${widget_name} > ${output_fn}
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ MAIN_DEPENDENCY ${widget_file}
+ DEPENDS gen)
+
+ list(APPEND generated_header_files ${output_fn})
+endforeach()
+
+# Directory where generated files by "gen" utility will stay.
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
+
+######################################################################
+# app-lib target
+
add_library(app-lib
app.cpp
app_menus.cpp
@@ -258,4 +283,5 @@ add_library(app-lib
webserver.cpp
widget_loader.cpp
xml_document.cpp
- xml_exception.cpp)
+ xml_exception.cpp
+ ${generated_header_files})
diff --git a/src/gen/CMakeLists.txt b/src/gen/CMakeLists.txt
index 90180b3..630a84f 100644
--- a/src/gen/CMakeLists.txt
+++ b/src/gen/CMakeLists.txt
@@ -5,6 +5,12 @@ add_executable(gen
gen.cpp
ui_class.cpp)
+if(MSVC)
+ # Fix problem compiling gen from a Visual Studio solution
+ set_target_properties(gen
+ PROPERTIES LINK_FLAGS -ENTRY:"mainCRTStartup")
+endif()
+
target_link_libraries(gen base-lib)
if(USE_SHARED_TINYXML)
target_link_libraries(gen ${LIBTINYXML_LIBRARY})
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/aseprite.git
More information about the Pkg-games-commits
mailing list