[Ttssh2-commit] [8930] cygtool を cmake でビルドするようにした

Back to archive index
scmno****@osdn***** scmno****@osdn*****
2020年 9月 5日 (土) 00:53:58 JST


Revision: 8930
          https://osdn.net/projects/ttssh2/scm/svn/commits/8930
Author:   zmatsuo
Date:     2020-09-05 00:53:57 +0900 (Sat, 05 Sep 2020)
Log Message:
-----------
cygtool を cmake でビルドするようにした

- CMakeLists.txt 追加
- cygtool.c から #pragma comment の削除
  - MinGW対策
  - cygtool.mak に version.lib 追加

Modified Paths:
--------------
    trunk/installer/cygtool/cygtool.c
    trunk/installer/cygtool/cygtool.mak

Added Paths:
-----------
    trunk/installer/cygtool/CMakeLists.txt

-------------- next part --------------
Added: trunk/installer/cygtool/CMakeLists.txt
===================================================================
--- trunk/installer/cygtool/CMakeLists.txt	                        (rev 0)
+++ trunk/installer/cygtool/CMakeLists.txt	2020-09-04 15:53:57 UTC (rev 8930)
@@ -0,0 +1,66 @@
+add_library(
+  cygtool_dll SHARED
+  cygtool.c
+  cygtool.def
+  )
+
+target_compile_options(
+  cygtool_dll
+  PRIVATE
+  -I ${CMAKE_CURRENT_LIST_DIR}/../../teraterm/common
+  )
+
+target_link_libraries(
+  cygtool_dll
+  PRIVATE
+  version
+  )
+
+set_target_properties(
+  cygtool_dll
+  PROPERTIES
+  OUTPUT_NAME "cygtool"
+  )
+
+set_target_properties(
+  cygtool_dll
+  PROPERTIES
+  FOLDER installer
+  )
+
+install(
+  TARGETS cygtool_dll
+  DESTINATION .
+  )
+
+if(false)
+  add_executable(
+    cygtool_exe
+    cygtool.c
+    )
+
+  target_compile_options(
+    cygtool_exe
+    PRIVATE
+    -D EXE
+    -I ${CMAKE_CURRENT_LIST_DIR}/../../teraterm/common
+    )
+
+  target_link_libraries(
+    cygtool_dll
+    PRIVATE
+    version
+    )
+
+  set_target_properties(
+    cygtool_exe
+    PROPERTIES
+    OUTPUT_NAME "cygtool"
+    )
+
+  set_target_properties(
+    cygtool_exe
+    PROPERTIES
+    FOLDER installer
+    )
+endif()

Modified: trunk/installer/cygtool/cygtool.c
===================================================================
--- trunk/installer/cygtool/cygtool.c	2020-09-04 15:53:44 UTC (rev 8929)
+++ trunk/installer/cygtool/cygtool.c	2020-09-04 15:53:57 UTC (rev 8930)
@@ -1,4 +1,3 @@
-#pragma comment(lib, "version.lib")
 
 #include <windows.h>
 #include <stdio.h>
@@ -105,28 +104,28 @@
 	LPVOID lpBuf;
 	UINT uLen;
 	VS_FIXEDFILEINFO *pFileInfo;
-	
+
 	dwSize = GetFileVersionInfoSize(dll, &dwHandle);
 	if (dwSize == 0) {
 		return 0;
 	}
-	
+
 	lpBuf = malloc(dwSize);
 	if (!GetFileVersionInfo(dll, dwHandle, dwSize, lpBuf)) {
 		free(lpBuf);
 		return 0;
 	}
-	
+
 	if (!VerQueryValue(lpBuf, "\\", (LPVOID*)&pFileInfo, &uLen)) {
 		free(lpBuf);
 		return 0;
 	}
-	
+
 	*major = HIWORD(pFileInfo->dwFileVersionMS);
 	*minor = LOWORD(pFileInfo->dwFileVersionMS);
-	
+
 	free(lpBuf);
-	
+
 	return 1;
 }
 
@@ -138,7 +137,7 @@
 	int file_len = sizeof(file);
 	int version_major, version_minor;
 	int res;
-	
+
 	printf("FindCygwinPath()\n");
 	res = FindCygwinPath("", file, file_len);
 	printf("  result => %d\n", res);
@@ -148,7 +147,7 @@
 	}
 	printf("  Cygwin directory => %s\n", file);
 	printf("\n");
-	
+
 	printf("PortableExecutableMachine()\n");
 	strncat_s(file, sizeof(file), "\\bin\\cygwin1.dll", _TRUNCATE);
 	printf("  Cygwin DLL => %s\n", file);
@@ -167,7 +166,7 @@
 			break;
 	}
 	printf("\n");
-	
+
 	printf("CygwinVersion()\n");
 	printf("  Cygwin DLL => %s\n", file);
 	res = CygwinVersion(file, &version_major, &version_minor);
@@ -179,7 +178,7 @@
 	printf("  version_major => %d\n", version_major);
 	printf("  version_minor => %d\n", version_minor);
 	printf("\n");
-	
+
 	return 0;
 }
 #else

Modified: trunk/installer/cygtool/cygtool.mak
===================================================================
--- trunk/installer/cygtool/cygtool.mak	2020-09-04 15:53:44 UTC (rev 8929)
+++ trunk/installer/cygtool/cygtool.mak	2020-09-04 15:53:57 UTC (rev 8930)
@@ -8,10 +8,10 @@
 
 cygtool.dll: cygtool.c
 	$(CPP) $(CFLAG) /MT /c cygtool.c
-	$(LINK32) $(LDFLAG) /DEF:cygtool.def cygtool.obj
+	$(LINK32) $(LDFLAG) /DEF:cygtool.def cygtool.obj version.lib
 
 cygtool.exe: cygtool.c
-	$(CPP) $(CFLAG) /D "EXE" cygtool.c
+	$(CPP) $(CFLAG) /D "EXE" cygtool.c version.lib
 
 clean:
 	del *.exe *.dll *.obj *.exp *.lib


Ttssh2-commit メーリングリストの案内
Back to archive index