From 32314dd3d9aa01f929ee6d158d6f6ac2e0e22ed5 Mon Sep 17 00:00:00 2001 From: crupest Date: Thu, 28 Mar 2019 20:17:03 +0800 Subject: ... --- CMakeSettings.json | 40 ++++++++-------------------------------- azure-pipelines.yml | 2 +- src/CMakeLists.txt | 2 +- src/main.cpp | 5 +++-- tools/build.py | 26 +++++++------------------- 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) -- cgit v1.2.3