aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2019-03-28 20:17:03 +0800
committercrupest <crupest@outlook.com>2019-03-28 20:17:03 +0800
commit32314dd3d9aa01f929ee6d158d6f6ac2e0e22ed5 (patch)
treec0a5829e63f11b4b2f223bdf3f53a201cecbe0b4
parent8199bbb3130812e5c8fac6254de6971ef6b9c17e (diff)
downloadcru-32314dd3d9aa01f929ee6d158d6f6ac2e0e22ed5.tar.gz
cru-32314dd3d9aa01f929ee6d158d6f6ac2e0e22ed5.tar.bz2
cru-32314dd3d9aa01f929ee6d158d6f6ac2e0e22ed5.zip
...
-rw-r--r--CMakeSettings.json40
-rw-r--r--azure-pipelines.yml2
-rw-r--r--src/CMakeLists.txt2
-rw-r--r--src/main.cpp5
-rw-r--r--tools/build.py26
5 files changed, 20 insertions, 55 deletions
diff --git a/CMakeSettings.json b/CMakeSettings.json
index 81078ff7..ce7531e0 100644
--- a/CMakeSettings.json
+++ b/CMakeSettings.json
@@ -2,55 +2,31 @@
"configurations": [
{
"name": "x86-Debug",
- "generator": "Ninja",
+ "generator": "Visual Studio 15 2017",
"configurationType": "Debug",
- "inheritEnvironments": [
- "msvc_x86"
- ],
"buildRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\build\\${name}",
- "installRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\install\\${name}",
- "cmakeCommandArgs": "",
- "buildCommandArgs": "-v",
- "ctestCommandArgs": ""
+ "installRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\install\\${name}"
},
{
"name": "x86-Realse",
- "generator": "Ninja",
+ "generator": "Visual Studio 15 2017",
"configurationType": "Release",
- "inheritEnvironments": [
- "msvc_x86"
- ],
"buildRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\build\\${name}",
- "installRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\install\\${name}",
- "cmakeCommandArgs": "",
- "buildCommandArgs": "-v",
- "ctestCommandArgs": ""
+ "installRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\install\\${name}"
},
{
"name": "x64-Debug",
- "generator": "Ninja",
+ "generator": "Visual Studio 15 2017 Win64",
"configurationType": "Debug",
- "inheritEnvironments": [
- "msvc_x64_x64"
- ],
"buildRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\build\\${name}",
- "installRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\install\\${name}",
- "cmakeCommandArgs": "",
- "buildCommandArgs": "-v",
- "ctestCommandArgs": ""
+ "installRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\install\\${name}"
},
{
"name": "x64-Release",
- "generator": "Ninja",
+ "generator": "Visual Studio 15 2017 Win64",
"configurationType": "Release",
- "inheritEnvironments": [
- "msvc_x64_x64"
- ],
"buildRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\build\\${name}",
- "installRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\install\\${name}",
- "cmakeCommandArgs": "",
- "buildCommandArgs": "-v",
- "ctestCommandArgs": ""
+ "installRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\install\\${name}"
}
]
} \ No newline at end of file
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 21ae7aaa..a9338a78 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -21,7 +21,7 @@ jobs:
buildConfiguration: 'Release'
steps:
- - script: py -3 tools\build.py -a $(buildPlatform) -c $(buildConfiguration) -e Enterprise
+ - script: py -3 tools\build.py -a $(buildPlatform) -c $(buildConfiguration)
- task: CopyFiles@2
inputs:
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index da488e08..b4097d63 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -32,6 +32,6 @@ target_link_libraries(cru_ui PRIVATE D3D11 D2d1 DWrite)
target_compile_definitions(cru_ui PUBLIC UNICODE _UNICODE) # use unicode
endif()
-add_executable(demo main.cpp)
+add_executable(demo WIN32 main.cpp)
target_link_libraries(demo PRIVATE cru_ui)
diff --git a/src/main.cpp b/src/main.cpp
index a787fbca..c35213f7 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -16,12 +16,13 @@ using cru::ui::controls::Button;
using cru::ui::controls::FlexLayout;
using cru::ui::controls::TextBlock;
-int main() {
+int APIENTRY wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
+ LPWSTR lpCmdLine, int nCmdShow) {
#ifdef CRU_DEBUG
_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
#endif
- Application application(::GetModuleHandleW(nullptr));
+ Application application(hInstance);
const auto window = Window::CreateOverlapped();
diff --git a/tools/build.py b/tools/build.py
index dac1f957..ab7c1205 100644
--- a/tools/build.py
+++ b/tools/build.py
@@ -9,31 +9,19 @@ parser.add_argument('-a', '--arch', choices=['x86', 'x64'],
required=True, help='specify target cpu architecture')
parser.add_argument('-c', '--config', choices=['Debug', 'Release'],
required=True, help='specify build configuration')
-parser.add_argument('-e', '--vs-edition', choices=['Community', 'Enterprise'],
- default='Community', help='specify visual studio edition')
args = parser.parse_args()
project_root = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
-
-vs_path = 'C:/Program Files (x86)/Microsoft Visual Studio/2017/{edition}'.format(
- edition=args.vs_edition)
-
-def setup_vs_env():
- old_dir = os.getcwd()
- os.chdir(os.path.join(vs_path, 'VC/Auxiliary/Build'))
- output = subprocess.check_output('vcvarsall.bat {arch} & set'.format(arch=args.arch), encoding='utf-8')
- for line in output.splitlines():
- e = line.find('=')
- os.environ[line[:e]] = line[e+1:]
- os.chdir(old_dir)
-
-setup_vs_env()
-
os.chdir(project_root)
-subprocess.run('cmake -S . -B build -G "Ninja" -DCMAKE_BUILD_TYPE="{config}"'.format(config=args.config),
+generater_vs_arch_map = {
+ 'x86': 'Win32',
+ 'x64': 'x64'
+}
+
+subprocess.run('cmake -S . -B build -G "Visual Studio 15 2017" -A {arch}'.format(arch=generater_vs_arch_map[args.arch]),
stdout=sys.stdout, stderr=sys.stderr)
-subprocess.run('cmake --build build --target all',
+subprocess.run('cmake --build build --target ALL_BUILD --config {config}'.format(config=args.config),
stdout=sys.stdout, stderr=sys.stderr)