mirror of
https://github.com/reactos/CMake.git
synced 2024-12-12 13:56:00 +00:00
01a9ab0def
XAML files are by default of type Page in the vcxproj and can be overriden by setting the VS_XAML_TYPE property. The .cpp and .h file of the same name are automatically added as depending on the XAML file. New VSXaml test builds a basic XAML WindowsStore 8.1 app with VS2013.
46 lines
1.5 KiB
CMake
46 lines
1.5 KiB
CMake
#
|
|
# Example CMakeLists.txt file to demonstrate how to make a designable Windows Forms project with CMake.
|
|
#
|
|
# Code modifications and example by John Farrier, john.farrier@helleboreconsulting.com
|
|
#
|
|
|
|
cmake_minimum_required(VERSION 2.8.10)
|
|
|
|
# Project Name
|
|
project(VSWindowsFormsResx CXX)
|
|
|
|
include(CheckFunctionExists)
|
|
include(CheckCXXSourceCompiles)
|
|
include(CheckIncludeFile)
|
|
|
|
# Note: The designable form is assumed to have a .h extension as is default in Visual Studio.
|
|
# Note: The designable form is assumed to have a .resx file with the same name and path (save extension) as is default in Visual Studio
|
|
|
|
set(TARGET_H
|
|
WindowsFormsResx/MyForm.h
|
|
WindowsFormsResx/Header.h
|
|
)
|
|
|
|
set(TARGET_SRC
|
|
WindowsFormsResx/MyForm.cpp
|
|
WindowsFormsResx/Source.cpp
|
|
)
|
|
set_source_files_properties(${TARGET_SRC} PROPERTIES COMPILE_FLAGS "/clr")
|
|
|
|
set(TARGET_RESX
|
|
WindowsFormsResx/MyForm.resx
|
|
)
|
|
|
|
set(TARGET_LIBRARIES ${SYSLIBS})
|
|
add_executable(${PROJECT_NAME} ${TARGET_SRC} ${TARGET_H} ${TARGET_RESX})
|
|
|
|
# Note: The property VS_GLOBAL_KEYWORD must be set.
|
|
set_property(TARGET ${PROJECT_NAME} PROPERTY VS_GLOBAL_KEYWORD "ManagedCProj")
|
|
|
|
# Note: The property VS_DOTNET_REFERENCES must be set.
|
|
set_property(TARGET ${PROJECT_NAME} PROPERTY VS_DOTNET_REFERENCES "System" "System.Data" "System.Drawing" "System.Windows.Forms" "System.Xml")
|
|
|
|
# Note: Modification of compiler flags is required for CLR compatibility now that we are using .resx files.
|
|
string(REPLACE "/EHsc" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
|
string(REPLACE "/RTC1" "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
|