diff options
author | Davy Durham <ddurham@bomgar.com> | 2016-03-17 20:12:02 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2016-03-22 11:57:00 (GMT) |
commit | 78ec04613063653008f221eed644f1c2566fd900 (patch) | |
tree | 9d27fcd0dcba991e6519f548099a86d4337e5970 /Tests/RunCMake/VSSolution/solution_parsing.cmake | |
parent | 5c1f4da83d1142e52b361e8f59dd68ea5728e843 (diff) | |
download | CMake-78ec04613063653008f221eed644f1c2566fd900.zip CMake-78ec04613063653008f221eed644f1c2566fd900.tar.gz CMake-78ec04613063653008f221eed644f1c2566fd900.tar.bz2 |
VS: Add option to choose the `.sln` startup project (#15578)
Add a `VS_STARTUP_PROJECT` directory property to specify the project
that should be placed first in the `.sln` file so that it will be
selected as the default startup project.
Co-Author: Taylor Braun-Jones <taylor.braunjones@avigilon.com>
Diffstat (limited to 'Tests/RunCMake/VSSolution/solution_parsing.cmake')
-rw-r--r-- | Tests/RunCMake/VSSolution/solution_parsing.cmake | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/Tests/RunCMake/VSSolution/solution_parsing.cmake b/Tests/RunCMake/VSSolution/solution_parsing.cmake index dd158ef..001b584 100644 --- a/Tests/RunCMake/VSSolution/solution_parsing.cmake +++ b/Tests/RunCMake/VSSolution/solution_parsing.cmake @@ -50,6 +50,20 @@ macro(parseGlobalSections arg_out_pre arg_out_post testName) endmacro() +macro(getFirstProject arg_out_first_project testName) + set(${arg_out_first_project} "") + set(sln "${RunCMake_TEST_BINARY_DIR}/${testName}.sln") + if(NOT EXISTS "${sln}") + error("Expected solution file ${sln} does not exist") + endif() + file(STRINGS "${sln}" project_lines REGEX "^Project\\(") + list(GET project_lines 0 first_project) + string(REGEX REPLACE ".* = \"" "" first_project "${first_project}") + string(REGEX REPLACE "\", .*" "" first_project "${first_project}") + set(${arg_out_first_project} "${first_project}") +endmacro() + + macro(testGlobalSection prefix sectionName) if(NOT DEFINED ${prefix}_${sectionName}) error("Section ${sectionName} does not exist") |